【问题标题】:Problems in NetworkX pagerankNetworkX pagerank 中的问题
【发布时间】:2013-03-29 15:29:38
【问题描述】:

我正在尝试在一个非常大的图 (DiGraph) 上运行 NetworkX 的 pagerank,但我总是收到此错误:

Traceback (most recent call last):
   File "summarize.py", line 120, in <module>
     s = summerizer().summ(q)
  File "summarize.py", line 108, in summ
    rank = nx.pagerank(self.G, 0.9, vector)
  File "/usr/local/lib/python2.7/dist-packages/networkx/algorithms/link_analysis/pagerank_alg.py",     line 93, in pagerank
    W=nx.stochastic_graph(D, weight=weight)
  File "/usr/local/lib/python2.7/dist-packages/networkx/generators/stochastic.py", line 42, in                 stochastic_graph
     d[weight]=d.get(weight,1.0)/degree[u]
 ZeroDivisionError: integer division or modulo by zero

我尝试删除所有度数为零的节点,但仍然出现相同的错误。

【问题讨论】:

  • 查看代码(stochastic.py 中的 stochastic_graph())我看不出除以零应该如何发生。你能在一个简单的案例中重现它吗?

标签: python networkx pagerank


【解决方案1】:

如果能看到更多你的代码就好了。可以推测可能的原因:

  • 页面排名适用于无向图(请参阅docs 和此previous question。该错误可能是由于 pagerank 尝试将边转换为两条无向边造成的吗?

  • 另外,这有什么不同吗?

    rank = nx.pagerank(self.G.to_undirected(), 0.9, vector)

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多