结合k-means聚类理解Principal Component Analysis(PCA)及可视化解读疑问
PCA结合k-means聚类可视化的解读说明
首先,你对PCA的基础认知是对的:PCA的核心作用是通过线性变换提取高维数据中方差最大的若干方向,将高维数据投影到低维空间(通常是2/3维)用于可视化。但你对聚类结果的解读是否成立,需要结合两个前提判断:
- 首先确认你运行k-means的数据源是原始高维数据,还是降维后的PCA二维数据:
- 如果k-means是在原始高维空间训练得到聚类标签,再把结果投影到PCA二维平面展示,那么同一簇的点在原始高维空间的欧式距离更近、特征相似度更高,图中的聚集表现和真实特征相似度是匹配的。
- 如果k-means是直接在降维后的二维PCA数据上运行,那么聚类结果仅反映数据在两个主成分维度上的相似度,不能等同于原始全维度特征的相似度。
- 其次要确认你用来可视化的前两个主成分的累计解释方差占比:
PCA降维会损失原始数据的部分信息,如果前两个主成分的累计解释方差≥70%,说明二维平面保留了原始数据的大部分差异信息,图中的聚集表现可信度高;如果占比过低,那么图中看起来聚集的点,可能在未被展示的其他维度上存在非常大的差异,不能直接判定为相似度高。
如果以上两个前提都满足,你所提到的「多数数据相似度较高因此聚集在同一区域」的解读是成立的;如果任一前提不满足,这个解读就存在偏差,属于忽略了PCA的信息损失特性或者聚类训练的数据源限制。
另外给出两个优化建议:
- 可以先打印前两个主成分的
explained_variance_ratio_指标,计算累计解释方差,先明确可视化结果的可信度 - 结合肘法、轮廓系数验证你设置的聚类数k是否合理,排除因为k值设置过小导致多数点被强行分到同一簇的情况
相关可视化效果图如下:
内容的提问来源于stack exchange,提问作者kittyKat
相关产品推荐
相关产品推荐

