Python:找到图的平均四面体聚类系数的有效方法?

Python:找到图的平均四面体聚类系数的有效方法?,python,pandas,numpy,networkx,Python,Pandas,Numpy,Networkx,我知道标准的聚类系数(这是基于通过节点的实际三角形数乘以可能的三角形数)。我正在寻找一种适合四面体的方法(4节点完整子图/4团子图)。本质上,这将再次意味着找到通过某个给定点的所有四面体,除以通过该点的可能四面体的数量,并对所有点进行平均 我看了一下,想看看是否可以为自己的案例进行复制,但发现很难理解发生了什么(因为我对python/networkx比较陌生) 对于数千个节点,哪种方法最有效?对于单个节点,您可以执行以下操作: nb = G.subgraph(G.neighbors(N)) cc

我知道标准的聚类系数(这是基于通过节点的实际三角形数乘以可能的三角形数)。我正在寻找一种适合四面体的方法(4节点完整子图/4团子图)。本质上,这将再次意味着找到通过某个给定点的所有四面体,除以通过该点的可能四面体的数量,并对所有点进行平均

我看了一下,想看看是否可以为自己的案例进行复制,但发现很难理解发生了什么(因为我对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))
样本输出:

1.0
0.000998169690313529

对于单个节点,可以执行以下操作:

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))
样本输出:

1.0
0.000998169690313529