2024-06-06 12:45:53 发布
网友
我知道标准的聚类系数(它是基于通过一个节点的实际三角形的数量,通过可能的三角形的数量)。我在寻找一个合适的方法来处理四面体(4节点完全子图/4团子图)。本质上,这又意味着,通过某个给定点,除以通过该点的可能四面体的数目,求出所有四面体的平均值。在
我查看了this和{a2},想看看是否可以为我自己的案例进行复制,但是发现很难理解到底发生了什么(因为我对python/networkx比较陌生)。在
对于数千个节点,什么是有效的方法?在
对于单个节点,可以执行以下操作:
nb = G.subgraph(G.neighbors(N)) cc = 0 if len(nb) < 3 else 2 * sum(networkx.triangles(nb).values()) / (len(nb) * (len(nb)-1) * (len(nb)-2))
对于平均值,您可以使用集团枚举。我找不到如何只从networkx得到四面体,所以我们用itertools.groupby来过滤它们。然后我们只需计算每个节点在这个列表中出现的频率,规范化,取平均值,就这样了。在
networkx
itertools.groupby
样本输出:
1.0 0.000998169690313529
对于单个节点,可以执行以下操作:
对于平均值,您可以使用集团枚举。我找不到如何只从
^{pr2}$networkx
得到四面体,所以我们用itertools.groupby
来过滤它们。然后我们只需计算每个节点在这个列表中出现的频率,规范化,取平均值,就这样了。在样本输出:
相关问题 更多 >
编程相关推荐