Scikit learn 解释聚类度量

Scikit learn 解释聚类度量,scikit-learn,cluster-analysis,k-means,Scikit Learn,Cluster Analysis,K Means,我在Scikit学习中使用k-means对398个样本、306个特征进行聚类。特征矩阵稀疏,聚类数为4。 为了改进集群,我尝试了两种方法: 聚类后,我使用ExtraTreesClassifier()对特征重要性进行分类和计算(在聚类中标记的样本) 我使用PCA将特征维数减少到2。 我计算了以下指标(,) 我的问题是: 据我所知,如果平方和越小,聚类方法的性能越好,而如果轮廓接近1,聚类方法的性能越好。例如,与第一行相比,最后一行的平方和和和轮廓都增加了 如何选择性能更好的方法 不要在不同的投影

我在Scikit学习中使用k-means对398个样本、306个特征进行聚类。特征矩阵稀疏,聚类数为4。 为了改进集群,我尝试了两种方法:

  • 聚类后,我使用ExtraTreesClassifier()对特征重要性进行分类和计算(在聚类中标记的样本)

  • 我使用PCA将特征维数减少到2。 我计算了以下指标(,)

  • 我的问题是:

  • 据我所知,如果平方和越小,聚类方法的性能越好,而如果轮廓接近1,聚类方法的性能越好。例如,与第一行相比,最后一行的平方和和和轮廓都增加了
  • 如何选择性能更好的方法
  • 不要在不同的投影、变换或数据集之间比较平方和和和类似的度量

    要了解原因,只需将每个特性乘以0.5,您的SSQ将下降0.25。所以要“改进”你的数据集,你只需要把它缩小到一个很小的尺寸


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

    有306项功能,你就在下面。306个维度的聚类没有意义。因此,我不会在聚类后选择特征

    要获得可解释的结果,您需要降低维度。对于398个样本,您需要低维度(2、3、也许4)。维度为2的PCA很好。你可以试试3


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

    因为这是一个关于群集诊断的问题,我认为它更适合于感谢您。我也这么做了。现在,我规范化了特征,然后我使用PCA将维度缩减为4。结果PCA成分覆盖了58%的特征方差。
        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