cdlib.algorithms.graph_entropy

cdlib.algorithms.graph_entropy(g_original: object, weights: str | None = None) NodeClustering

该方法利用了信息论中熵的概念。熵是衡量随机变量中不确定性的一个指标。

这种方法使用了一个新的定义,图熵,作为图中结构复杂性的度量。 该算法结合了种子增长技术。 然而,与其他种子增长风格的方法不同,图熵方法不需要任何预定的阈值,因为它通过最小化图熵来搜索最优解。

该方法通过最小化图熵来找到局部最优的聚类。 从候选的种子顶点集中随机选择一个种子顶点。 然后,创建一个由种子顶点及其直接邻居组成的初始聚类。 接下来,迭代评估邻居的移除,以最小化图的初始熵。 最后,如果添加外部边界顶点会导致图的熵减少,则递归地添加它们。

支持的图表类型

无向

有向

加权

是的

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

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

Returns:

节点聚类对象

Example:

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

Kenley, E.C., Cho, Y.-R. 2011. 从蛋白质相互作用网络中检测蛋白质复合物和功能模块:一种图熵方法。蛋白质组学 11, 3835-3844.