0

非常に大きなグラフ (DiGraph) で NetworkX のページランクを実行しようとしていますが、常に次のエラーが発生します。

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

ゼロ度のすべてのノードを削除しようとしましたが、それでも同じエラーが発生します。

4

1 に答える 1

0

あなたのコードをもっと見るのは良いことです。そのため、考えられる原因を推測できます。

  • ページランクは無向グラフで機能します (ドキュメントとこの前の質問を参照してください。ページランクがエッジを 2 つの無向エッジに変換しようとしていることが原因でエラーが発生する可能性はありますか?

  • また、これは違いがありますか?

    ランク = nx.pagerank(self.G.to_undirected(), 0.9, vector)

于 2013-03-29T23:38:37.317 に答える