解释群集指标

时间:2016-08-03 11:42:37

标签: scikit-learn cluster-analysis k-means

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

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

  2. 我使用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
    
  3. 我的问题是:

    1. 据我所知,如果平方和较小,则聚类方法的性能较好,而如果Silhouette接近1,则聚类方法的性能更好。例如,在最后一行中,与第一行相比,正方形和轮廓的总和都增加了。
    2. 如何选择哪种方法具有更好的性能?

2 个答案:

答案 0 :(得分:2)

从不比较不同投影,转换或数据集中的平方和和类似指标。

要了解原因,只需将每个要素乘以0.5 - 您的SSQ将下降0.25。所以要#34;改进"你的数据集,你只需要将它缩小到一个很小的尺寸......

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

答案 1 :(得分:1)

使用306个功能,您位于curse of dimensionality之下。 306维度的聚类没有意义。因此,我不会在群集后选择功能。

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

在群集之前选择重要特征的方法可能存在问题。无论如何,2/3/4“最佳”功能对你的情况有意义吗?