gpt4 book ai didi

python - 用python networkx计算图的入度中心化

转载 作者:行者123 更新时间:2023-11-28 18:32:54 25 4
gpt4 key购买 nike

我有一个图,想计算它的入度和出度集中度。我试图通过使用 python networkx 来做到这一点,但我只能找到一种方法来计算每个节点的入度和出度中心性。有没有一种方法可以计算 networkx 中图的入度和出度集中度?

最佳答案

这是代码。我假设学位中心化的定义如下所述...

N=G.order()
indegrees = G.in_degree().values()
max_in = max(indegrees)
centralization = float((N*max_in - sum(indegrees)))/(N-1)**2

请注意,我是在假设它是 python 2 而不是 3 的情况下编写的。所以我在除法中使用了 float。您可以根据需要进行调整。


开始定义

给定一个网络G,定义y为入度最大的节点,用d_i(u)表示节点 u 的入度。将 H_G 定义为(我不知道在 stackoverflow 上编写数学公式的更好方法 - 希望任何知道的人可以编辑它或发表评论)

H_G = \sum_{u} d_i(y) - d_i(u)  
= N d_i(u) - \sum_u d_i(u)

其中 u 遍历 G 中的所有节点,NG 的节点数。

N 节点上的图的最大可能值出现在所有其他节点都指向一个节点并且没有其他节点与它们有边的情况下。那么这个H_G就是(N-1)^2

因此,对于给定的网络,我们将中心化定义为 H_G 的值与最大值的比较。所以 C(G) = H_G/(N-1)^2

结束定义

关于python - 用python networkx计算图的入度中心化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35243795/

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