我正在使用Python中的网络图库networkx进行尝试,并发现文档说PageRank算法在评分时考虑了边权重,但我想知道更大的边权重是否更好还是更小的边权重更好?
我正在使用Python中的网络图库networkx进行尝试,并发现文档说PageRank算法在评分时考虑了边权重,但我想知道更大的边权重是否更好还是更小的边权重更好?
简而言之,对于入度节点来说,较大的权重更好。
PageRank是基于有向加权图工作的。如果页面A链接到页面B,则页面B的得分会增加,即页面B(节点)获得的输入越多,其得分就越高。
请参阅维基百科上关于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得分越高。