如何决定是否在聚类前进行降维?

机器算法验证 聚类 降维
2022-03-29 12:37:17

在聚类之前何时减少数据维度以避免维度灾难是否有任何协议?

我的直觉是,如果我说 1000 个点并且数据维度是 10,那么聚类就可以了。但是如果维度是 50 则不行,因为数据点变得稀疏且难以聚类(结果期望获得“太多”的聚类)。

1个回答

如果它可以改善结果,则可以进行降维。

如果结果变得更糟,您就不会进行降维。

数据挖掘中没有一种万能的方法您必须对预处理、数据挖掘、评估、重试进行多次迭代,直到您的结果适合您。不同的数据集有不同的要求。

记住 KDD 过程是怎样的: KDD 过程

注意返回的灰色箭头。如果结果不让您满意,请尝试返回,例如尝试使用不同的预处理,例如降维。

但是 10 维无论如何都不是高维的,可能不需要害怕维数的诅咒,除非你做一些基于网格的方法。

对于高维数据的行为,我可以推荐 Houle 等人的文章:

  • 共享邻居距离能否战胜维度的诅咒?
    ME Houle,H.-P。Kriegel、P. Kröger、E. Schubert 和 A. Zimek
    SSDBM 2010

他们表明,维数与对数据集进行聚类的能力没有直接关系。但更多的是信噪比的问题。如果所有维度都提供信号,则高维数据集可以非常容易且良好地进行聚类。如果大多数维度都是噪声,那么一个小得多的数据集就会崩溃。所以特别是,没有诸如“10 好,50 坏”之类的经验法则,对不起。