首页 > 解决方案 > 对低密度差异的多维数据进行聚类的最佳聚类算法是什么?

问题描述

我目前正在做一个项目,我希望对多维数据进行聚类。我尝试了 K-Means 聚类和 DBSCAN 聚类,它们都是完全不同的算法。

K-Means 模型返回了一个相当不错的输出,它返回了 5 个集群,但我读过当维度很大时,欧几里得距离失败,所以我不知道我是否可以信任这个模型。

在尝试 DBSCAN 模型时,该模型产生了很多噪声点,并且在一个簇中聚集了很多点。我尝试了 KNN dist plot 方法来找到模型的最佳 eps,但我似乎无法使模型工作。这导致我得出结论,也许绘制的点的密度非常高,也许这就是我在一个集群中得到很多点的原因。

对于聚类,我使用了 10 个不同的数据列。我应该改变我正在使用的算法吗?对于多维数据和密度变化较小的算法,什么是更好的算法?

标签: pythoncluster-analysisdata-sciencek-meansdbscan

解决方案


您可以首先使用 PCA/LDA/t-sne 或自动编码器对数据集进行降维。然后运行标准的一些聚类算法。

另一种方法是您可以使用花哨的深度聚类方法。这篇文很好地解释了他们如何在高维数据集上应用深度聚类。


推荐阅读