图聚类算法

时间:2018-02-14 01:17:44

标签: python graph cluster-analysis

我可以解释我正在寻找的最佳方式就是使用这张图片:

enter image description here

显然,视觉辅助使我们更容易对这些图进行分组,但我也认为找到密集的子图应该是使用算法的可解决问题。我尝试了MCL算法,因为它很受欢迎,但它不能正常工作,因为它似乎至少不允许有方向边缘。我试图以不同的方式对边缘进行加权,但这也无助于聚类过程。我想在图中找到密集的点,我确实有办法验证给定的簇是否可行,有些情况下,如果有帮助,某些元素就不能在一起。

输出结果为:

群集0:A,B,C

群集1:D,E,F,G

在这种情况下,如果D是可疑元素,使用不同的方法我可以找出属于哪个群集。

1 个答案:

答案 0 :(得分:1)

这个问题本身就是一个研究领域(也是我博士论文的一部分......) 最好的解决方案通常取决于你的数学定义" cluster"或者"社区"。 例如,您可以最小化簇间边缘的数量,称为graph partition problem

Fortunato写了一篇关于这个主题的好评论文: https://arxiv.org/pdf/0906.0612

除了我们自己的方法,我个人最喜欢的是模拟退火。