对直接图使用 Louvain 检测

问题描述

我的数据库有 3 列,如下所示:

f_id s_id 日期
12345 506678 24-05-2005

我已经建立了网络连接,并像这样连接网络:

 path = 'data.csv'
 df = pd.read_csv(path) 

G = nx.from_pandas_edgelist(df,source='f_id,target='s_id',edge_attr=['weight','date'],create_using=nx.DiGraph())

所以现在我想检测有向图的社区,但是当我运行最佳分区时,它会抛出一个错误

TypeError: Bad graph type,use only non directed graph

那么如何使用 Louvain 检测直接图检测社区,请提供任何帮助和提示

解决方法

来自python-louvain的作者:

目前我没有适应有向图的计划。

有向图的模块化意义不是很清楚,我不知道 了解此类图上 Louvain 算法的“标准”实现。 通常的方法是将有向图视为无向图。

https://github.com/taynaud/python-louvain/issues/28