估计 k-means 集群分区中最重要的特征

机器算法验证 机器学习 聚类 k-均值 重要性
2022-01-29 14:59:27

有没有办法确定数据集的哪些特征/变量在 k-means 集群解决方案中是最重要/占主导地位的?

4个回答

一种量化每个特征有用性的方法(= 变量 = 维度),来自 Burns、Robert P. 和 Richard Burns 的书。使用SPSS的商业研究方法和统计。Sage, 2008. ( mirror ),有用性由特征区分集群的区分能力定义。

我们通常使用 ANOVA 检查每个维度上每个集群的均值,以评估我们的集群的不同程度。理想情况下,对于分析中使用的大多数(如果不是全部)维度,我们将获得显着不同的方法。在每个维度上执行的 F 值的大小表示各个维度在集群之间的区分程度。

另一种方法是删除特定功能并查看这如何影响内部质量指标与第一个解决方案不同,您必须为要分析的每个特征(或特征集)重新进行聚类。

供参考:

我可以想到另外两种可能性,它们更多地关注哪些变量对哪些集群很重要。

  1. 多类分类。考虑属于同一类(例如,类 1)的集群x成员的对象和属于第二类(例如,类 2)的其他集群成员的对象。训练分类器来预测类别成员(例如,类别 1 与类别 2)。分类器的变量系数可以用来估计每个变量在聚类对象中对聚类x的重要性。对所有其他集群重复此方法。

  2. 集群内变量相似度。对于每个变量,计算每个对象与其质心的平均相似度。质心与其对象之间具有高相似性的变量对于聚类过程可能比具有相似性的变量更重要。当然,相似度大小是相对的,但现在变量可以根据它们帮助对每个集群中的对象进行聚类的程度进行排序。

我之前遇到过这个问题,并开发了两种可能的方法来找到负责每个 K-Means 集群次优解决方案的最重要特征。

  1. 关注每个质心的位置和负责最高的类内平方和最小化的维度

  2. 将问题转换为分类设置(受论文启发:“A Supervised Methodology to Measure the Variables Contribution to a Clustering”)。

我在这里写了一篇详细的文章Interpretable K-Means: Clusters Feature Importances如果您想尝试它,还包括 GitHub 链接。希望这可以帮助!

这是一个非常简单的方法。请注意,两个聚类中心之间的欧几里得距离是各个特征之间的平方差之和。然后我们可以只使用平方差作为每个特征的权重。

欧几里得距离