计算二分网络 x 图中的方块数
counting the number of squares in a bipartite networkx graph
我有一个二分网络,我想计算网络中的方块数,例如:
import networkx as nx
B=nx.Graph()
B=nx.bipartite.random_graph(100, 100, .05)
我知道 networkx 有一个内置的方法来计算平方聚类系数(封闭 4 路径与开放 3 路径的份额),但我想简单地计算封闭 4 路径的数量。有人能想出一个使用内置函数的好技巧吗?
我认为您可以简单地调整代码 nx.square_clustering
,如下所示。如果需要,将它包装成一个函数
v = 0 # or any other node
clustering = 0
potential = 0
for u, w in combinations(B[v], 2):
squares = len((set(B[u]) & set(B[w])) - {v})
clustering += squares
我有一个二分网络,我想计算网络中的方块数,例如:
import networkx as nx
B=nx.Graph()
B=nx.bipartite.random_graph(100, 100, .05)
我知道 networkx 有一个内置的方法来计算平方聚类系数(封闭 4 路径与开放 3 路径的份额),但我想简单地计算封闭 4 路径的数量。有人能想出一个使用内置函数的好技巧吗?
我认为您可以简单地调整代码 nx.square_clustering
,如下所示。如果需要,将它包装成一个函数
v = 0 # or any other node
clustering = 0
potential = 0
for u, w in combinations(B[v], 2):
squares = len((set(B[u]) & set(B[w])) - {v})
clustering += squares