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.