如何使用图形工具计算包含200万个顶点的图形的katz中心性

时间:2017-07-12 14:13:38

标签: python-3.x graph-tool

代码非常简单:

centrality = graph_tool.centrality.katz(Graph)

但有一些警告:

/usr/lib/python3/dist-packages/numpy/linalg/linalg.py:2056: RuntimeWarning: overflow encountered in multiply
return sqrt(add.reduce((x.conj() * x).real, axis=None))
/usr/lib/python3/dist-packages/graph_tool/centrality/__init__.py:765: RuntimeWarning: invalid value encountered in true_divide
vprop.fa = vprop.fa / numpy.linalg.norm(vprop.fa)

这些警告可能是由此图表的大小引起的,我该如何处理它。非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法禁用标准化步骤:

centrality = graph_tool.centrality.katz(Graph, norm=False)

然后,在标准化时,您可以先除以最大值:

centrality.fa /= centrality.fa.max()
centrality.fa /= numpy.linalg.norm(centrality.fa)