cdlib.algorithms.dpclus

cdlib.algorithms.dpclus(g_original: object, weights: str | None = None, d_threshold: float = 0.9, cp_threshold: float = 0.5, overlap: bool = True) NodeClustering

DPClus 使用共同邻居的方法将权重投影到一个未加权的图上。 在 DPClus 中,边 (u, v) 的权重定义为 u 和 v 之间的共同邻居数量。 同样,顶点的权重是其加权度——连接到该顶点的所有边的权重之和。

DPClus 本身不生成重叠的集群,但允许在后处理步骤中添加重叠的集群节点。

支持的图表类型

无向

有向

加权

是的

是的

Parameters:
  • g_original – 一个 networkx/igraph 对象

  • weights – 用于边权重的标签。默认值为None。

  • d_threshold – 聚类密度阈值,默认值为0.9

  • cp_threshold – 集群属性阈值,默认值为0.5

  • overlap – 是否输出重叠或清晰的社区。默认值为True。

Returns:

节点聚类对象

Example:

>>> from cdlib import algorithms
>>> import networkx as nx
>>> G = nx.karate_club_graph()
>>> coms = algorithms.dpclus(G)
References:

Altaf-Ul-Amin, M., Shinbo, Y., Mihara, K., Kurokawa, K., Kanaya, S. 2006. 开发并实现了一种在大规模相互作用网络中检测蛋白质复合物的算法。BMC Bioinformatics 7, 207.