Node Clustering¶
Algorithms falling in this category generates communities composed by nodes. The communities can represent neat, crisp, partition as well as overlapping or even fuzzy ones.
Crisp Communities¶
A clustering is said to be a partition if each node belongs to one and only one community.
Methods in this subclass returns as result a NodeClustering
object instance.
agdl (g, number_communities, …) 
AGDL is a graphbased agglomerative algorithm, for clustering highdimensional data. 
async_fluid (g, k) 
Fluid Communities (FluidC) is based on the simple idea of fluids (i.e., communities) interacting in an environment (i.e., a noncomplete graph), expanding and contracting. 
cpm (g[, initial_membership, weights, …]) 
CPM is a model where the quality function to optimize is: 
der (g[, walk_len, threshold, iter_bound]) 
DER is a Diffusion Entropy Reducer graph clustering algorithm. 
eigenvector (g) 
Newman’s leading eigenvector method for detecting community structure based on modularity. 
em (g, k) 
EM is based on based on a mixture model. 
gdmp2 (g[, min_threshold]) 
Gdmp2 is a method for identifying a set of dense subgraphs of a given sparse graph. 
girvan_newman (g, level) 
The Girvan–Newman algorithm detects communities by progressively removing edges from the original graph. 
greedy_modularity (g[, weight]) 
The CNM algorithm uses the modularity to find the communities strcutures. 
infomap (g) 
Infomap is based on ideas of information theory. 
label_propagation (g) 
The Label Propagation algorithm (LPA) detects communities using network structure alone. 
leiden (g[, initial_membership, weights]) 
The Leiden algorithm is an improvement of the Louvain algorithm. 
louvain (g[, weight, resolution, randomize]) 
Louvain maximizes a modularity score for each community. 
rber_pots (g[, initial_membership, weights, …]) 
rber_pots is a model where the quality function to optimize is: 
rb_pots (g[, initial_membership, weights, …]) 
Rb_pots is a model where the quality function to optimize is: 
scan (g, epsilon, mu) 
SCAN (Structural Clustering Algorithm for Networks) is an algorithm which detects clusters, hubs and outliers in networks. 
significance_communities (g[, …]) 
Significance_communities is a model where the quality function to optimize is: 
spinglass (g) 
Spinglass relies on an analogy between a very popular statistical mechanic model called Potts spin glass, and the community structure. 
surprise_communities (g[, …]) 
Surprise_communities is a model where the quality function to optimize is: 
walktrap (g) 
walktrap is an approach based on random walks. 
sbm_dl (g[, B_min, B_max, deg_corr]) 
Efficient Monte Carlo and greedy heuristic for the inference of stochastic block models. 
sbm_dl_nested (g[, B_min, B_max, deg_corr]) 
Efficient Monte Carlo and greedy heuristic for the inference of stochastic block models. 
Overlapping Communities¶
A clustering is said to be overlapping if any generic node can be assigned to more than one community.
Methods in this subclass returns as result a NodeClustering
object instance.
angel (g, threshold[, min_community_size]) 
Angel is a nodecentric bottomup community discovery algorithm. 
big_clam (g[, number_communities]) 
BigClam is an overlapping community detection method that scales to large networks. 
conga (g, number_communities) 
CONGA (ClusterOverlap Newman Girvan Algorithm) is an algorithm for discovering overlapping communities. 
congo (g, number_communities[, height]) 
CONGO (CONGA Optimized) is an optimization of the CONGA algortithm. 
demon (g, epsilon[, min_com_size]) 
Demon is a nodecentric bottomup overlapping community discovery algorithm. 
ego_networks (g[, level]) 
Egonetworks returns overlapping communities centered at each nodes within a given radius. 
kclique (g, k) 
Find kclique communities in graph using the percolation method. 
lais2 (g) 
LAIS2 is an overlapping community discovery algorithm based on the density function. 
lemon (graph, seeds[, min_com_size, …]) 
Lemon is a large scale overlapping community detection method based on local expansion via minimum one norm. 
lfm (g, alpha) 
LFM is based on the local optimization of a fitness function. 
multicom (g, seed_node) 
MULTICOM is an algorithm for detecting multiple local communities, possibly overlapping, by expanding the initial seed set. 
node_perception (g, threshold, overlap_threshold) 
Node perception is based on the idea of joining together small sets of nodes. 
overlapping_seed_set_expansion (g, seeds[, …]) 
OSSE is an overlapping community detection algorithm optimizing the conductance community score The algorithm uses a seed set expansion approach; the key idea is to find good seeds, and then expand these seed sets using the personalized PageRank clustering procedure. 
slpa (g[, t, r]) 
SLPA is an overlapping community discovery that extends tha LPA. 
Fuzzy Communities¶
A clustering is said to be a fuzzy if each node can belongs (with a different degree of likelihood) to more than one community.
Methods in this subclass returns as result a FuzzyNodeClustering
object instance.
frc_fgsn (g, theta, eps, r) 
FuzzyRough Community Detection on Fuzzy Granular model of Social Network. 
Node Attribute¶
Methods in this subclass returns as result a AttrNodeClustering
object instance.
eva (g, labels[, weight, resolution, …]) 

ilouvain (g, labels, id) 
