big_clam(g_original: object, dimensions: int = 8, iterations: int = 50, learning_rate: float = 0.005) → cdlib.classes.node_clustering.NodeClustering

BigClam is an overlapping community detection method that scales to large networks. The procedure uses gradient ascent to create an embedding which is used for deciding the node-cluster affiliations.

Supported Graph Types

Undirected Directed Weighted
Yes No No
  • g_original – a networkx/igraph object
  • dimensions – Number of embedding dimensions. Default 8.
  • iterations – Number of training iterations. Default 50.
  • learning_rate – Gradient ascent learning rate. Default is 0.005.

NodeClustering object

>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> coms = algorithms.big_clam(G)

Yang, Jaewon, and Jure Leskovec. “Overlapping community detection at scale: a nonnegative matrix factorization approach.” Proceedings of the sixth ACM international conference on Web search and data mining. 2013.


Reference implementation: