gpt4 book ai didi

python - 计算k度的平均聚类

转载 作者:行者123 更新时间:2023-12-01 06:29:30 25 4
gpt4 key购买 nike

如何使用 Python 中的 NetworkX 库计算图的 k 度节点的平均聚类 c(k)?我能找到的唯一函数是针对节点(部分或全部)的函数,以及另一个针对整个图的函数。

最佳答案

可以得到所有k度的节点,然后得到平均聚类度

示例:

>>> G=nx.complete_graph(5)
>>> k=4
>>> nodes_degree_k = [u for u in G.nodes() if G.degree(u) == k]
>>> clustering_coeff = nx.clustering(G, nodes_degree_k)
>>> sum(clustering_coeff.values())/len(clustering_coeff)
1.0

只需对节点进行分组即可将其扩展到各个程度。

from collections import defaultdict

d = defaultdict(list)

for u in G.nodes():
d[G.degree(u)].append(u)

for degree in d:
clustering_coeff = nx.clustering(G, d[degree])
print(degree, sum(clustering_coeff.values())/len(clustering_coeff))

关于python - 计算k度的平均聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59972772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com