networkx.algorithms.community.quality.modularity
的用法。用法:
modularity(G, communities, weight='weight', resolution=1)
返回圖的給定分區的模塊化。
模塊化在[1]中定義為
其中
G
的鄰接矩陣, 是 的度數, 是分辨率參數, 是1如果 和 在同一個社區,否則為 0。 是邊數, 是根據[2](並通過一些代數驗證)這可以簡化為
其中 sum 迭代所有社區 , 是邊數, 是社區的 intra-community 鏈接數 , 是社區中節點的度數之和 和 是分辨率參數。
分辨率參數設置intra-group 邊和inter-group 邊之間的任意權衡。通過分析具有多個 gamma 值的同一網絡,然後組合結果,可以發現更複雜的分組模式 [3]。也就是說,簡單地使用 gamma=1 是很常見的。更多關於伽瑪選擇的信息請參見[4]。
第二個公式是實際用於模塊化計算的公式。對於有向圖,第二個公式將 替換為 。
- G:NetworkX 圖表
- communities:節點集的列表或可迭代
這些節點集必須代表 G 節點的一個分區。
- weight:字符串或無,可選(默認=”weight”)
保存用作權重的數值的邊屬性。如果 None 或邊不具有該屬性,則該邊的權重為 1。
- resolution:浮點數(默認=1)
如果分辨率小於 1,則模塊化有利於更大的社區。大於 1 有利於較小的社區。
- Q:浮點數
分區的模塊化。
- NotAPartition
如果
communities
不是G
的節點的分區。
參數:
返回:
拋出:
參考:
- 1
M. E. J. Newman “Networks: An Introduction”, page 224. Oxford University Press, 2011.
- 2
Clauset, Aaron, Mark EJ Newman, and Cristopher Moore. “Finding community structure in very large networks.” Phys. Rev. E 70.6 (2004). <https://arxiv.org/abs/cond-mat/0408187>
- 3
Reichardt and Bornholdt “Statistical Mechanics of Community Detection” Phys. Rev. E 74, 016110, 2006. https://doi.org/10.1103/PhysRevE.74.016110
- 4
M. E. J. Newman, “Equivalence between modularity optimization and maximum likelihood methods for community detection” Phys. Rev. E 94, 052315, 2016. https://doi.org/10.1103/PhysRevE.94.052315
例子:
>>> import networkx.algorithms.community as nx_comm >>> G = nx.barbell_graph(3, 0) >>> nx_comm.modularity(G, [{0, 1, 2}, {3, 4, 5}]) 0.35714285714285715 >>> nx_comm.modularity(G, nx_comm.label_propagation_communities(G)) 0.35714285714285715
相關用法
- Python NetworkX modularity_matrix用法及代碼示例
- Python NetworkX multi_source_dijkstra_path用法及代碼示例
- Python NetworkX minimum_spanning_edges用法及代碼示例
- Python NetworkX maximal_independent_set用法及代碼示例
- Python NetworkX make_small_graph用法及代碼示例
- Python NetworkX maximum_spanning_tree用法及代碼示例
- Python NetworkX minimum_edge_cut用法及代碼示例
- Python NetworkX minimum_st_node_cut用法及代碼示例
- Python NetworkX minimum_spanning_tree用法及代碼示例
- Python NetworkX minimum_node_cut用法及代碼示例
- Python NetworkX minimum_cut_value用法及代碼示例
- Python NetworkX multi_source_dijkstra_path_length用法及代碼示例
- Python NetworkX min_cost_flow_cost用法及代碼示例
- Python NetworkX maximum_flow用法及代碼示例
- Python NetworkX min_cost_flow用法及代碼示例
- Python NetworkX maximum_flow_value用法及代碼示例
- Python NetworkX minimum_cut用法及代碼示例
- Python NetworkX make_max_clique_graph用法及代碼示例
- Python NetworkX maximum_spanning_edges用法及代碼示例
- Python NetworkX minimum_st_edge_cut用法及代碼示例
- Python NetworkX minimum_cycle_basis用法及代碼示例
- Python NetworkX max_flow_min_cost用法及代碼示例
- Python NetworkX multi_source_dijkstra用法及代碼示例
- Python NetworkX multipartite_layout用法及代碼示例
- Python NetworkX negative_edge_cycle用法及代碼示例
注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.community.quality.modularity。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。