我正在使用networkx(python中的图形库),我发现文档说PageRank算法在评分时会考虑边缘权重,但我想知道更大边缘权重是更好还是更低权重更好?
答案 0 :(得分:26)
很快,对于传入节点来说,较大的权重会更好。
PageRank适用于有向加权图。如果页面A有到页面B的链接,则B的分数上升,即页面B(节点)具有的输入越多,其得分越高。
Wikipedia article on PageRank了解更多详情。
修改:让我们做一个实验。创建一个有3个节点和两个有相同权重的有向边的有向图。
import networkx as nx
D=nx.DiGraph()
D.add_weighted_edges_from([('A','B',0.5),('A','C',0.5)])
print nx.pagerank(D)
>> {'A': 0.259740259292235, 'C': 0.3701298703538825, 'B': 0.3701298703538825}
现在,增加(A,C)边缘的重量:
D['A']['C']['weight']=1
print nx.pagerank(D)
>> {'A': 0.259740259292235, 'C': 0.40692640737443164, 'B': 0.3333333333333333}
如您所见,节点C随着传入边缘权重的增加而得分越高。