cdlib.algorithms.ipca

cdlib.algorithms.ipca(g_original: object, weights: str | None = None, t_in: float = 0.5) NodeClustering

IPCA是由Li等人(2008年)提出的一种DPClus的改进版本。 与DPClus相比,该方法侧重于维持簇的直径,即所有顶点对之间的最大最短距离,而不是其密度。 通过这样做,IPCA的种子增长方面强调了预测蛋白质复合物的结构紧密性以及结构连通性。

与DPClus类似,IPCA通过计算两个顶点之间共享的邻居数量来计算局部顶点和边的权重。 然而,IPCA仅在算法开始时计算这些值一次,而不是每次从图中移除发现的集群时更新它们。 这允许集群之间自然发生重叠,因为集群节点不会永久从图中移除;然而,这也可能导致大量的集群重叠。

支持的图表类型

无向

有向

加权

是的

是的

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

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

  • t_in

Returns:

节点聚类对象

Example:

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

李, M., 陈, J., 王, J., 胡, B., 陈, G. 2008. 基于新拓扑结构修改DPClus算法以识别蛋白质复合物. BMC生物信息学 9, 398.