當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。