Home Articles

解释群集指标

Asked
Viewed 1990 times
1

我在Scikit中通过k-means进行聚类 - 了解398个样本,306个特征 . 特征矩阵是稀疏的,簇的数量是4.为了改进聚类,我尝试了两种方法:

  • 聚类后,我使用ExtraTreesClassifier()来分类和计算要素重要性(在聚类中标记的样本)

  • 我使用PCA将要素尺寸减少到2.我计算了以下指标(SS, CHSH

Method                   sum_of_squares, Calinski_Harabasz, Silhouette

    1 kmeans                    31.682        401.3            0.879
    2 kmeans+top-features       5989230.351   75863584.45      0.977
    3 kmeans+PCA                890.5431893   58479.00277      0.993

我的问题是:

  • 据我所知,如果平方和较小,则聚类方法的性能较好,而如果Silhouette接近1,则聚类方法的性能更好 . 例如,在最后一行中,与第一行相比,平方和和Silhouette的总和增加 .

  • 如何选择哪种方法具有更好的性能?

2 Answers

  • 2

    切勿在不同的投影,转换或数据集之间比较平方和和类似指标 .

    要了解原因,只需将每个特征乘以0.5 - 您的SSQ将下降0.25 . 因此,要“改进”您的数据集,您只需将其缩放到一个很小的尺寸......

    这些指标只能用于完全相同的输入和参数 . 你甚至不能使用平方和来比较具有不同k的k均值,因为较大的k将获胜 . 你所能做的只是多次随机尝试,然后保持你发现这种方式的最佳最小值 .

  • 1

    有了306个功能,你就在curse of dimensionality之下 . 306维度的聚类没有意义 . 因此,我不会在群集后选择功能 .

    要获得可解释的结果,您需要降低维度 . 对于398个样品,您需要低尺寸(2,3或4个) . 您的尺寸为2的PCA很好 . 你可以尝试3 .

    在聚类之前选择重要特征的方法可能是有问题的 . 无论如何,2/3/4“最佳”功能在您的情况下有意义吗?

Related