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


Python cugraph.centrality.betweenness_centrality.betweenness_centrality用法及代码示例


用法:

cugraph.centrality.betweenness_centrality.betweenness_centrality(G, k=None, normalized=True, weight=None, endpoints=False, seed=None, result_dtype=<class 'numpy.float64'>)

计算图 G 的所有顶点的介数中心性。介数中心性是对通过顶点的最短路径数量的度量。具有高中介中心性分数的顶点有更多的路径通过它,因此被认为更重要。

为了提高性能。可以使用 k 个起始顶点的样本,而不是执行 all-pair 最短路径。

CuGraph 目前不支持 ‘endpoints’ and ‘weight’ 参数,如相应的 networkX 调用中所示。

参数

GcuGraph.Graph 或 networkx.Graph

该图可以是有向的 (Graph(directed=True)) 或无向的。图中的权重被忽略,当前实现使用 BFS 遍历。如果需要考虑权重,则使用权重参数(目前不支持)

kint or list or None, optional (default=None)

如果 k 不是 None,则使用 k 个节点样本来估计介数。较高的值给出更好的近似值。如果 k 是一个列表,则使用列表的内容进行估计:列表应该包含顶点标识符。如果 k 为 None(默认值),则所有顶点都用于估计介数。通过采样获得的顶点或定义为列表的顶点将作为算法内部遍历的源。

normalized布尔型,可选

默认为真。如果为真,则对于无向图,介数值通过 __2 /((n - 1) * (n - 2))__ 标准化,对于有向图,通过 __1 /((n - 1) * (n - 2))__ 标准化,其中n 是 G 中的节点数。归一化将确保值在 [0, 1] 中,这种归一化针对每个最短路径穿过一个节点的最高可能值进行缩放。

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

指定要用于每条边的权重。应该包含边和权重之间的映射。 (不支持)

endpoints布尔,可选(默认=假)

如果为真,则将端点包括在最短路径计数中。 (不支持)

seed可选的

如果指定了 k 并且 k 是整数,则使用种子来初始化随机数生成器。使用无作为种子依赖于随机。seed() 行为:使用当前系统时间如果 k 为无或列表:种子参数被忽略

result_dtypenp.float32 或 np.float64,可选,默认=np.float64

表示介数中心性分数的数据类型

返回

dfcudf.DataFrame 或 Dictionary 如果使用 NetworkX

GPU 数据帧包含两个大小为 V 的 cudf.Series:顶点标识符和相应的中介中心性值。请注意,生成的‘vertex’ 列可能不是按升序排列的。字典包含相同的两列

df[‘vertex’]cudf.Series

包含顶点标识符

df[‘betweenness_centrality’]cudf.Series

包含顶点的中介中心性

例子

>>> gdf = cudf.read_csv(datasets_path / 'karate.csv', delimiter=' ',
...                     dtype=['int32', 'int32', 'float32'], header=None)
>>> G = cugraph.Graph()
>>> G.from_cudf_edgelist(gdf, source='0', destination='1')
>>> bc = cugraph.betweenness_centrality(G)

相关用法


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