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


Python NetworkX eigenvector_centrality_numpy用法及代码示例


本文简要介绍 networkx.algorithms.centrality.eigenvector_centrality_numpy 的用法。

用法:

eigenvector_centrality_numpy(G, weight=None, max_iter=50, tol=0)

计算图 G 的特征向量中心性。

特征向量中心性根据其邻居的中心性计算节点的中心性。节点 的特征向量中心性为

其中 是具有特征值 的图 G 的邻接矩阵。根据 Perron-Frobenius 定理,如果 是与邻接矩阵 的特征向量相关的最大特征值,则存在唯一的正解([2])。

参数

G图形

一个networkx图

weight无或字符串,可选(默认=无)

用作权重的边属性的名称。如果没有,所有的边权重都被认为是相等的。在这个度量中,权重被解释为连接强度。

max_iter整数,可选(默认=100)

幂法中的最大迭代次数。

tol浮点数,可选(默认=1.0e-6)

特征值的相对精度(停止标准)。默认值 0 表示机器精度。

返回

nodes字典

以特征向量中心性为值的节点字典。

抛出

NetworkXPointlessConcept

如果图 G 是空图。

注意

该措施是由[1]提出的。

该算法使用 SciPy 稀疏特征值求解器 (ARPACK) 来找到最大的特征值/特征向量对。

对于有向图,这是 “left” 特征向量中心性,对应于图中的 in-edges。对于 out-edges 特征向量中心性,首先使用 G.reverse() 反转图形。

参考

1

Phillip Bonacich: Power and Centrality: A Family of Measures. American Journal of Sociology 92(5):1170-1182, 1986 http://www.leonidzhukov.net/hse/2014/socialnetworks/papers/Bonacich-Centrality.pdf

2

Mark E. J. Newman: Networks: An Introduction. Oxford University Press, USA, 2010, pp. 169.

例子

>>> G = nx.path_graph(4)
>>> centrality = nx.eigenvector_centrality_numpy(G)
>>> print([f"{node} {centrality[node]:0.2f}" for node in centrality])
['0 0.37', '1 0.60', '2 0.60', '3 0.37']

相关用法


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