2013-03-29 5 views
0

PageRank Я пытаюсь запустить PageRank NetworkX на действительно большой граф (орграф), и я всегда получаю эту ошибку:Проблемы 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 

Я попытался удалить все узлы с нулевой степенью, но я по-прежнему получают ту же ошибку.

+0

Глядя код (stochastic_graph() в стохастике.py) Я не вижу, как должно произойти деление на ноль. Можете ли вы воспроизвести его в простом случае? – Aric

ответ

0

Было бы хорошо видеть больше вашего кода. Как это можно рассуждать о возможных причинах:

  • ранг страницы работает на неориентированных графов (см docs и это previous question Может ошибка быть вызвана PageRank пытается преобразовать края двух неориентированных ребер

  • .?
  • Кроме того, это делает разницу?

    ранга = nx.pagerank (self.G.to_undirected(), 0,9, вектор)