如何在边缘加权网络/图中进行社区检测?

时间:2017-07-28 23:23:00

标签: scikit-learn cluster-analysis networkx hierarchical-clustering

我的一般问题是:如何在加权无向社交网络/图表中进行社区检测? 我想要群集的数据集如下所示,

DrugA, DrugB,Weight 
x,y,6
y,z,9
y,p,5
x,p,3

在我的数据集中,我有多个药物节点,它们之间的权重代表药物之间的相似性。我想将连接的节点聚集在较小的簇中,其中权重较高的节点连接在一起,即某种最小切割。我可以使用哪种聚类算法来聚类这种数据集;最好来自Scikit-learn或NetworkX?

我已经尝试过中文悄悄话,但由于图CW的密集连接最终会产生两个大型集群。任何建议/建议将不胜感激。

2 个答案:

答案 0 :(得分:0)

分层聚类可以做到这一点。

但是你需要一个适用于稀疏图形和相似性而不是距离的实现。

答案 1 :(得分:0)

我看到的答案是"社区检测算法"。 Louvain模块化算法是加权/未加权的平面聚类算法。 GEPHI(旧版本)中提供了该算法的实现。