当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cugraph.link_prediction.woverlap.overlap_w用法及代码示例


用法:

cugraph.link_prediction.woverlap.overlap_w(input_graph, weights, vertex_pair=None)

计算由边连接的每对顶点之间或用户指定的任意顶点对之间的加权重叠系数。重叠系数定义为两组之间的交集体积除以它们中较小的体积的比率。在图的上下文中,顶点的邻域被视为一个集合。每条边的重叠系数权重表示基于相邻顶点的相对相似性的顶点之间的连接强度。如果指定了第一个但没有指定第二个,反之亦然,将抛出异常。

参数

input_graphcugraph.Graph

cuGraph 图形实例,应包含作为边列表的连接信息(此算法不使用边权重)。如果不存在邻接列表,则将计算该邻接列表。

weightscudf.DataFrame

指定要用于每个顶点的权重。顶点应由multi-column 顶点的多列表示。

权重[‘vertex’]cudf.Series

包含顶点标识符

权重[‘weight’]cudf.Series

包含顶点的权重

vertex_paircudf.DataFrame,可选(默认=无)

一个 GPU 数据帧,由代表顶点对的两列组成。如果提供,则为给定的顶点对计算重叠系数,否则,为所有顶点对计算重叠系数。

返回

dfcudf.DataFrame

大小为 E(默认)的 GPU 数据帧或包含重叠系数的给定对(第一、第二)的大小。排序是相对于邻接列表的,或者是由指定的顶点对给出的。

df[‘source’]cudf.Series

源顶点 ID

df[‘destination’]cudf.Series

目标顶点 ID

df[‘overlap_coeff’]cudf.Series

计算的源顶点和目标顶点之间的加权重叠系数。

例子

>>> import random
>>> M = cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
...                   dtype=['int32', 'int32', 'float32'], header=None)
>>> G = cugraph.Graph()
>>> G.from_cudf_edgelist(M, source='0', destination='1')
>>> # Create a dataframe containing the vertices with their
>>> # corresponding weight
>>> weights = cudf.DataFrame()
>>> # Sample 10 random vertices from the graph and drop duplicates if
>>> # there are any to avoid duplicates vertices with different weight
>>> # value in the 'weights' dataframe
>>> weights['vertex'] = G.nodes().sample(n=10).drop_duplicates()
>>> # Reset the indices and drop the index column
>>> weights.reset_index(inplace=True, drop=True)
>>> # Create a weight column with random weights
>>> weights['weight'] = [random.random() for w in range(
...                      len(weights['vertex']))]
>>> df = cugraph.overlap_w(G, weights)

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.link_prediction.woverlap.overlap_w。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。