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

How can I use graph-tool to calculate katz centrality for a graph which contain 2 million vertex

代码很简单:

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)

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

您可以禁用标准化步骤:

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

你可以先除以最大值,归一化时:

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