python - 图聚类算法

标签 python graph cluster-analysis

我可以解释我正在寻找的内容的最好方法是使用这张图片:

enter image description here

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

其输出将是:

集群 0:A、B、C

集群 1:D、E、F、G

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

最佳答案

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

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

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

关于python - 图聚类算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48778259/

相关文章:

c++ - PCL 的主成分分析

python - 如何确定安装 conda 软件包所需启用的 channel ?

python - 有没有办法在 Windows 10 中安装后更改 python 最大路径长度设置?

c++ - 在我的图实现中查找边数并执行拓扑排序

java - 我是否应该使用第 3 方股票图表 java 库?

r - R中DBSCAN的聚类中心平均值?

python - Sklearn 中的高维 DBSCAN

Python Bool 和 int 比较和索引列表上的 boolean 值

python - 递归后重置计数器

javascript - 如何使用 Javascript 显示图表