cdlib.algorithms.bimlpa

cdlib.algorithms.bimlpa(g_original: object, theta: float = 0.3, lambd: int = 7) 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