greedy_modularity(g_original: object, weight: list = None) → cdlib.classes.node_clustering.NodeClustering

The CNM algorithm uses the modularity to find the communities strcutures. At every step of the algorithm two communities that contribute maximum positive value to global modularity are merged.

Supported Graph Types

Undirected Directed Weighted
Yes No No
  • g_original – a networkx/igraph object
  • weight – list of double, or edge attribute Weights of edges. Can be either an iterable or an edge attribute. Deafault None

NodeClustering object

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

Clauset, A., Newman, M. E., & Moore, C. Finding community structure in very large networks. Physical Review E 70(6), 2004