cdlib.algorithms.endntm

endntm(g_original: object, clusterings: list = None, epsilon: float = 2) → cdlib.classes.node_clustering.NodeClustering

Overlapping community detection algorithm based on an ensemble approach with a distributed neighbourhood threshold method (EnDNTM). EnDNTM uses pre-partitioned disjoint communities generated by the ensemble mechanism and then analyzes the neighbourhood distribution of boundary nodes in disjoint communities to detect overlapping communities.

Parameters:
  • g_original – a networkx/igraph object
  • clusterings – an iterable of Clustering objects (non overlapping node partitions only)
  • epsilon – neighbourhood threshold, default 2.
Returns:

NodeClustering object

Example:
>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> coms_l = [algorithms.louvain(G), algorithms.label_propagation(G), algorithms.walktrap(G)]
>>> coms = algorithms.endntm(G, coms_l)
References:

Jaiswal, R., & Ramanna, S. Detecting overlapping communities using ensemble-based distributed neighbourhood threshold method in social networks. Intelligent Decision Technologies, (2021), doi:10.3233/IDT-200059.