cdlib.algorithms.bimlpa

bimlpa(g_original: object, theta: float = 0.3, lambd: int = 7) → cdlib.classes.bipartite_node_clustering.BiNodeClustering

BiMLPA is designed to detect the many-to-many correspondence community in bipartite networks using multi-label propagation algorithm.

This method works for the connected graph. If the graph is not connected, the method will be applied to each connected component of the graph and the results will be merged.

Supported Graph Types

Undirected Directed Weighted Bipartite
Yes No No Yes
Parameters:
  • g_original – a networkx/igraph object (instance of igraph.Graph or nx.Graph).
  • theta – Label weights threshold. Default 0.3.
  • lambd – The max number of labels. Default 7.
Returns:

BiNodeClustering object

Example:
>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.algorithms.bipartite.random_graph(50, 50, 0.25)
>>> coms = algorithms.bimlpa(G)
References:

Taguchi, Hibiki, Tsuyoshi Murata, and Xin Liu. “BiMLPA: Community Detection in Bipartite Networks by Multi-Label Propagation.” International Conference on Network Science. Springer, Cham, 2020.

Note

Reference implementation: https://github.com/hbkt/BiMLPA