python和pagerank特征向量

2024-03-29 05:37:03 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么“阻尼”转换矩阵的特征向量不等于使用python networkx模块的pagerank分数,请参见以下示例:

import numpy as np
M = np.array([[0,   0,   0,   0,    0 ],
              [1/3, 0,   0,   1/2, 1/2],
              [1/3, 0,   0,   1/2,  0 ],
              [1/3, 1/2, 1/2, 0,   1/2],
              [0,   1/2, 1/2, 0,    0 ]])
d=.85 #default damping factor
w0, v0 =np.linalg.eig(d*M + (1-d)*np.ones(M.shape))

import networkx as nx
nx_graph = nx.from_numpy_array(M)
scores = nx.pagerank(nx_graph,1)

分数与第一个特征向量有很大不同。 这仅仅是一个规范化问题,还是可能存在概念上的错误? 下面的“手动函数”返回另一组分数:

^{pr2}$

Tags: 模块importnumpynetworkx示例asnp矩阵