networkx.algorithms.centrality.katz_centrality_numpy
的用法。用法:
katz_centrality_numpy(G, alpha=0.1, beta=1.0, normalized=True, weight=None)
計算圖 G 的 Katz 中心性。
Katz 中心性根據其鄰居的中心性計算節點的中心性。它是特征向量中心性的推廣。節點 的 Katz 中心性為
其中 是圖 G 的鄰接矩陣,其特征值為 。
參數 控製初始中心性和
Katz 中心性通過測量直接鄰居(一級節點)以及網絡中通過這些直接鄰居連接到所考慮節點的所有其他節點的數量來計算網絡中節點的相對影響。
可以通過參數 向直接鄰居提供額外的權重。然而,與遠方鄰居建立的連接會受到衰減因子 的懲罰,該衰減因子應嚴格小於鄰接矩陣的逆最大特征值,以便正確計算 Katz 中心性。 [1] 中提供了更多信息。
- G:圖形
NetworkX 圖
- alpha:浮點數
衰減因子
- beta:標量或字典,可選(默認=1.0)
重量歸因於附近。如果不是標量,則字典必須為每個節點都有一個值。
- normalized:bool
如果 True 標準化結果值。
- weight:無或字符串,可選
如果沒有,所有的邊權重都被認為是相等的。否則保存用作權重的邊屬性的名稱。在這個度量中,權重被解釋為連接強度。
- nodes:字典
以 Katz 中心性為值的節點字典。
- NetworkXError
如果參數
beta
不是標量但缺少至少一個節點的值
參數:
返回:
拋出:
注意:
Katz 中心性由 [2] 引入。
該算法使用直接線性求解器來求解上述方程。參數
alpha
應嚴格小於鄰接矩陣的最大特征值的倒數,以獲得解。您可以使用max(nx.adjacency_spectrum(G))
得到鄰接矩陣的最大特征值 。當 和 時,Katz 中心性與特征向量中心性相同。
對於有向圖,這會找到與圖中的 in-edges 對應的 “left” 特征向量。對於 out-edges Katz 中心性,首先使用
G.reverse()
反轉圖形。參考:
- 1
Mark E. J. Newman: Networks: An Introduction. Oxford University Press, USA, 2010, p. 173.
- 2
Leo Katz: A New Status Index Derived from Sociometric Index. Psychometrika 18(1):39-43, 1953 https://link.springer.com/content/pdf/10.1007/BF02289026.pdf
例子:
>>> import math >>> G = nx.path_graph(4) >>> phi = (1 + math.sqrt(5)) / 2.0 # largest eigenvalue of adj matrix >>> centrality = nx.katz_centrality_numpy(G, 1 / phi) >>> for n, c in sorted(centrality.items()): ... print(f"{n} {c:.2f}") 0 0.37 1 0.60 2 0.60 3 0.37
相關用法
- Python NetworkX katz_centrality用法及代碼示例
- Python NetworkX kamada_kawai_layout用法及代碼示例
- Python NetworkX karate_club_graph用法及代碼示例
- Python NetworkX k_edge_components用法及代碼示例
- Python NetworkX k_clique_communities用法及代碼示例
- Python NetworkX kosaraju_strongly_connected_components用法及代碼示例
- Python NetworkX k_edge_augmentation用法及代碼示例
- Python NetworkX k_components用法及代碼示例
- Python NetworkX k_edge_subgraphs用法及代碼示例
- Python NetworkX negative_edge_cycle用法及代碼示例
- Python NetworkX voronoi_cells用法及代碼示例
- Python NetworkX numerical_edge_match用法及代碼示例
- Python NetworkX inverse_line_graph用法及代碼示例
- Python NetworkX LFR_benchmark_graph用法及代碼示例
- Python NetworkX write_graph6用法及代碼示例
- Python NetworkX DiGraph.__contains__用法及代碼示例
- Python NetworkX average_degree_connectivity用法及代碼示例
- Python NetworkX eulerian_circuit用法及代碼示例
- Python NetworkX single_source_dijkstra_path_length用法及代碼示例
- Python NetworkX from_dict_of_dicts用法及代碼示例
- Python NetworkX weisfeiler_lehman_subgraph_hashes用法及代碼示例
- Python NetworkX transitive_closure_dag用法及代碼示例
- Python NetworkX intersection用法及代碼示例
- Python NetworkX MultiGraph.size用法及代碼示例
- Python NetworkX Graph.size用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.centrality.katz_centrality_numpy。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。