AttributeError:模块“ networkx.algorithms.community”没有属性“ best_partition”

时间:2018-10-26 22:48:30

标签: python-3.x anaconda networkx graph-theory

好吧,我正在尝试使用 networkx 上的社区检测算法在著名的Facebook snap数据集上。 这是我的代码:

import networkx as nx
import matplotlib.pyplot as plt
from networkx.algorithms import community
from networkx.algorithms.community.centrality import girvan_newman

G_fb = nx.read_edgelist("./facebook_combined.txt",create_using = nx.Graph(), nodetype=int)

parts = community.best_partition(G_fb)
values = [parts.get(node) for node in G_fb.nodes()]

但是当我运行单元格时,我会遇到标题错误:

AttributeError: module 'networkx.algorithms.community' has no attribute 'best_partition'

有什么建议吗?

4 个答案:

答案 0 :(得分:3)

我认为您是将networkx中的community module使用 networkx的python-louvain模块中的社区检测相混淆。

如果安装python-louvain,则其文档中的示例对我有用,并生成类似

的图像

sample graph partition

请注意,您将导入community,而不是networkx.algorithms.community。也就是说,

import community

[.. code ..]

partition = community.best_partition(G_fb)

答案 1 :(得分:1)

我遇到了同样的问题。就我而言,以不同的方式导入模块已解决:

import community.community_louvain

Source

答案 2 :(得分:0)

我有一个类似的问题。 就我而言,这是因为在另一台计算机上,库networkx已过时。

使用以下命令,解决了问题。

pip3 install --upgrade networkx

答案 3 :(得分:0)

我在 CS224W 中遇到过这个问题

AttributeError: module 'community' has no attribute 'best_partition' enter image description here

请更改此文件 karate.py

将导入替换为 import community.community_louvain as community_louvain

那么它对我有用。