Communities#
Functions for computing and measuring community structure.
The community
subpackage can be accessed by using networkx.community
, then accessing the
functions as attributes of community
. For example:
>>> import networkx as nx
>>> G = nx.barbell_graph(5, 1)
>>> communities_generator = nx.community.girvan_newman(G)
>>> top_level_communities = next(communities_generator)
>>> next_level_communities = next(communities_generator)
>>> sorted(map(sorted, next_level_communities))
[[0, 1, 2, 3, 4], [5], [6, 7, 8, 9, 10]]
Bipartitions#
Functions for computing the Kernighan–Lin bipartition algorithm.
|
Partition a graph into two blocks using the Kernighan–Lin algorithm. |
Divisive Communities#
|
Partition created by iteratively removing the highest edge betweenness edge. |
Partition created by removing the highest edge current flow betweenness edge. |
K-Clique#
|
Find k-clique communities in graph using the percolation method. |
Modularity-based communities#
Functions for detecting communities based on modularity.
|
Find communities in G using greedy modularity maximization. |
|
Find communities in G using greedy modularity maximization. |
Tree partitioning#
Lukes Algorithm for exact optimal weighted tree partitioning.
|
Optimal partitioning of a weighted tree using the Lukes algorithm. |
Label propagation#
Label propagation community detection algorithms.
|
Returns communities in |
Generates community sets determined by label propagation |
|
|
Returns communities in |
Local Community Detection#
Local Community Detection Algorithms
Local Community Detection (LCD) aims to detected one or a few communities starting from certain source nodes in the network. This differs from Global Communty Detection (GCD), which aims to partition an entire network into communities.
LCD is often useful when only a portion of the graph is known or the graph is large enough that GCD is infeasable
[1] Gives a good introduction and overview of LCD
References#
Baltsou, Georgia, Konstantinos Christopoulos, and Konstantinos Tsichlas. Local community detection: A survey. IEEE Access 10 (2022): 110701-110726. https://doi.org/10.1109/ACCESS.2022.3213980
|
Find the local community around a source node. |
Louvain Community Detection#
Function for detecting communities based on Louvain Community Detection Algorithm
|
Find the best partition of a graph using the Louvain Community Detection Algorithm. |
|
Yields partitions for each level of the Louvain Community Detection Algorithm |
Fluid Communities#
Asynchronous Fluid Communities algorithm for community detection.
|
Returns communities in |
Measuring partitions#
Functions for measuring the quality of a partition (into communities).
|
Returns the modularity of the given partition of the graph. |
|
Returns the coverage and performance of a partition of G. |
Partitions via centrality measures#
Functions for computing communities based on centrality notions.
|
Finds communities in a graph using the Girvan–Newman method. |
Validating partitions#
Helper functions for community-finding algorithms.
|
Returns True if |