cdlib.algorithms.agdl

agdl(g_original: object, number_communities: int, kc: int) → cdlib.classes.node_clustering.NodeClustering

AGDL is a graph-based agglomerative algorithm, for clustering high-dimensional data. The algorithm uses the indegree and outdegree to characterize the affinity between two clusters.

Supported Graph Types

Undirected Directed Weighted
Yes Yes Yes
Parameters:
  • g_original – a networkx/igraph object
  • number_communities – number of communities
  • kc – size of the neighbor set for each cluster
Returns:

NodeClustering object

Example:

>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> com = algorithms.agdl(g, number_communities=3, kc=4)
References:

Zhang, W., Wang, X., Zhao, D., & Tang, X. (2012, October). Graph degree linkage: Agglomerative clustering on a directed graph. In European Conference on Computer Vision (pp. 428-441). Springer, Berlin, Heidelberg.

Note

Reference implementation: https://github.com/myungjoon/GDL