根据加权邻接矩阵计算节点之间的间隔

时间:2018-07-07 05:35:48

标签: networkx

我有一个邻接矩阵,其中非零元素表示链接的权重。权重是小于1的小数,但为正数。例如,将下面的矩阵视为加权邻接矩阵a

array([[0.  , 0.93, 0.84, 0.76],
       [0.93, 0.  , 0.93, 0.85],
       [0.84, 0.93, 0.  , 0.92],
       [0.76, 0.85, 0.92, 0.  ]])

我想获得其中所有节点的节点中间性。要注意的是,我的实际邻接矩阵是2000 X2000。我是networkx的新手,因此,任何帮助将非常可贵。

1 个答案:

答案 0 :(得分:1)

您可以尝试

import networkx as nx
import numpy as np

A=np.matrix([[0.  , 0.93, 0.84, 0.76, 0.64],
             [0.93, 0.  , 0.93, 0.85, 0   ],
             [0.84, 0.93, 0.  , 0.92, 0.32],
             [0.76, 0.85, 0.92, 0.  , 0.55],
             [0.64, 0   , 0.32, 0.55, 0]])

G=nx.from_numpy_matrix(A)


betweeness_dict = nx.centrality.betweenness_centrality(G,weight='weight')

betweeness_dict将包含所有节点之间的中心位置

{0: 0.0, 1: 0.0, 2: 0.13888888888888887, 3: 0.0, 4: 0.13888888888888887}

您可以阅读有关文档at this link的更多信息。