networkx.algorithms.community.modularity_max.greedy_modularity_communities¶
-
greedy_modularity_communities
(G, weight=None, resolution=1)[source]¶ Find communities in G using greedy modularity maximization.
This function uses Clauset-Newman-Moore greedy modularity maximization [2]. This method currently supports the Graph class and does not consider edge weights.
Greedy modularity maximization begins with each node in its own community and joins the pair of communities that most increases modularity until no such pair exists.
This function maximizes the generalized modularity, where
resolution
is the resolution parameter, often expressed as \(\gamma\). Seemodularity()
.- Parameters
- GNetworkX graph
- Returns
- list
A list of sets of nodes, one for each community. Sorted by length with largest communities first.
See also
modularity
References
- 1
M. E. J Newman “Networks: An Introduction”, page 224 Oxford University Press 2011.
- 2
Clauset, A., Newman, M. E., & Moore, C. “Finding community structure in very large networks.” Physical Review E 70(6), 2004.
- 3
Reichardt and Bornholdt “Statistical Mechanics of Community Detection” Phys. Rev. E74, 2006.
Examples
>>> from networkx.algorithms.community import greedy_modularity_communities >>> G = nx.karate_club_graph() >>> c = list(greedy_modularity_communities(G)) >>> sorted(c[0]) [8, 14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33]