我试图在一个非常大的图(有向图)上运行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
我尝试以零度删除所有节点,但仍然得到相同的错误。在
如果能看到更多你的代码,那就太好了。因此,人们可以推测可能的原因:
pagerank在无向图上工作(参见docs和这个previous question)。错误可能是由pagerank试图将边转换为两个无向边引起的吗?
还有,这有什么不同吗?在
等级=网页排名(self.G.to_undirected(),0.9,向量)
相关问题 更多 >
编程相关推荐