【问题标题】:Graph clustering algorithm图聚类算法
【发布时间】:2018-07-24 11:58:49
【问题描述】:

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

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

输出将是:

集群 0:A、B、C

第 1 组:D、E、F、G

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

【问题讨论】:

  • 边缘方向与聚类决策有何关系?如果你移除方向性并且在节点之间只有双边,那么大约 any 图聚类算法将找到那个单一的切点。顺便说一句,搜索“graph cluster cut”应该会给你很多参考。
  • 我可以轻松摆脱方向,它们并不重要,我真的不需要添加它们。其中一些具有双重优势的事实很重要。我尝试了 MCL 算法,但无法将它们聚类。我使用单边,重量为 2 的双边和 1 的单边。我没有运气。那是你要去的地方吗?
  • 你能澄清你的问题吗?我不再确定你想要什么。您不是在寻找我们来调试您的算法:您会发布一个 MCVE。您没有考虑其他算法:您现在已经尝试过您的搜索命中或@Ray 的指针。
  • 不,我会这样做,但我只是想了解您原来的评论是什么意思。

标签: python graph cluster-analysis


【解决方案1】:

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

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

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

【讨论】:

  • 很好的提示,谢谢。我正在阅读图表中的社区检测。它非常密集,但似乎它正在做我所追求的。
猜你喜欢
  • 2010-11-28
  • 2010-09-09
  • 2015-10-20
  • 2020-06-18
  • 2013-11-26
  • 2011-03-29
  • 2020-02-14
  • 2022-01-03
相关资源
最近更新 更多