我在网络数据上运行k_cliques_community
,并在响应时间过长后收到内存错误。该代码对我的其他数据非常有效,但对本数据却不起作用。
c = list(k_clique_communities(G_fb, 3))
list(c[0])
答案 0 :(得分:1)
我尝试在具有16 GB RAM和i7 -7700HQ的系统上运行您的代码,内核在返回内存错误后死亡。我认为这是因为大小为3的k-clique的计算需要大量的计算能力/内存,因为您的no数很大。节点和边缘。我认为您需要研究其他方法来找到k-clique,例如GraphX - Apache Spark
答案 1 :(得分:0)
您可能安装了x32的python。 x32安装被限制为2 GB的内存,而不管您有多少系统内存。这很不方便,但是可以。卸载python并安装x64安装。再次,这很不方便,但这是我见过的唯一解决方案。
答案 2 :(得分:0)
如 networkx 文档中所述:
要获得所有最大团的列表,请使用 list(find_cliques(G))。但是,请注意,在最坏的情况下,此列表的长度可能与图中节点的数量呈指数关系。
(这被称为 find_cliques
,但它也与您的问题有关)。
这意味着,如果有大量的派系,您使用 list
创建的字符串将非常多,您可能会耗尽内存:字符串需要比 int 值更多的空间来保存。
我不知道是否有解决方法。