You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言fviz_cluster绘制kmeans结果的Dim1/Dim2来源疑问

fviz_cluster绘制kmeans结果时Dim1/Dim2的生成原理

你观察到的Dim1、Dim2并非kmeans聚类的输出结果,而是fviz_cluster为了实现二维可视化,自动对原始特征做降维得到的维度,具体逻辑如下:

  • kmeans聚类本身是在原始输入特征的高维空间中计算的,你代码里输入的iris.scaled是4维特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度),km.res对象只会存储聚类簇标签、簇中心、组内平方和等聚类核心结果,不会包含降维相关的维度信息。
  • 调用fviz_cluster()时,你传入了原始数据集iris[,-5]作为第二个参数,函数会基于这个原始特征矩阵,默认做主成分分析(PCA),提取方差解释率最高的前两个主成分,就是图上的Dim1(第一主成分)和Dim2(第二主成分)。
  • 图中每个样本点的坐标,就是对应样本在这两个主成分上的投影值,这种降维方式可以在尽可能保留样本间差异信息的前提下,把高维分布压缩到二维平面,方便直观判断聚类的区分效果。

验证方法

你可以手动计算PCA对比结果,确认维度的来源:

# 手动计算PCA,和fviz_cluster的默认逻辑对齐
pca_res <- prcomp(iris.scaled, scale. = FALSE) # 之前已经对数据做过标准化,这里不需要再做
# 输出前两个主成分的前6行结果,和可视化图中的点坐标完全对应
head(pca_res$x[, 1:2])

拓展说明

如果你不想用PCA作为降维方式,也可以通过fviz_cluster的method参数指定其他降维方法,可选值包括mds(多维缩放)、tsne(t分布邻域嵌入)等。

内容的提问来源于stack exchange,提问作者anderwyang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:15:03