加权边缘如何影响networkx中的PageRank?

发布于 2021-01-29 15:08:13

我在玩networkx(Python中的图形库),发现文档说PageRank算法在评分时考虑了边缘权重,但是我想知道更大的边缘权重是更好还是更低的权重呢?

关注者
0
被浏览
69
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    不久,较大的权重对于传入的节点更好。

    PageRank在有向加权图上工作。如果页面A具有到页面B的链接,则页面B的得分会上升,即页面B(节点)输入的次数越多,其得分就越高。

    有关更多详细信息,请参见PageRank上的Wikipedia文章

    编辑 :让我们做一个实验。创建一个具有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得分更高。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看