You need to enable JavaScript to run this app. 6维高维数据KMeans聚类结果可视化及代码报错问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

6维高维数据KMeans聚类结果可视化及代码报错问题咨询

报错根因
  • 你代码里scaled_features是StandardScaler输出的numpy数组,仅支持整数、切片等类型的索引,无法用字符串'cluster'作为索引新增列
  • 你参考的代码中的cluster是pandas DataFrame的列名,用来存储每个样本对应的聚类标签,需要先将numpy数组转换为带列名的DataFrame才能使用这种写法
方案1:平行坐标图实现(适配你原本的开发需求)

修正后的完整可运行代码如下:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

# 标准化处理
scaler = StandardScaler()
scaled_features = scaler.fit_transform(psnr_bitrate)
# KMeans聚类
kmeans = KMeans(init="random",n_clusters=6,n_init=10,max_iter=300,random_state=42)
kmeans.fit(scaled_features)
y_kmeans = kmeans.predict(scaled_features)

# 转换为DataFrame,给6个特征设置默认列名
df = pd.DataFrame(scaled_features, columns=[f'特征{i+1}' for i in range(6)])
# 新增cluster列存储聚类标签
df['cluster'] = y_kmeans

# 绘制平行坐标图
pd.plotting.parallel_coordinates(df, 'cluster', colormap='viridis')
plt.show()

平行坐标图说明:每条线对应一个样本,不同颜色代表不同簇,可直观对比不同簇在6个特征上的分布差异。

方案2:降维后2D散点图可视化(簇分隔效果更直观)

6维数据无法直接映射到2D平面,可通过PCA降维后可视化聚类结果:

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

# 标准化处理
scaler = StandardScaler()
scaled_features = scaler.fit_transform(psnr_bitrate)
# KMeans聚类
kmeans = KMeans(init="random",n_clusters=6,n_init=10,max_iter=300,random_state=42)
kmeans.fit(scaled_features)
y_kmeans = kmeans.predict(scaled_features)

# PCA降为2维
pca = PCA(n_components=2)
pca_2d = pca.fit_transform(scaled_features)

# 绘制散点图
plt.scatter(pca_2d[:, 0], pca_2d[:, 1], c=y_kmeans, cmap='viridis', alpha=0.6)
# 绘制簇中心
centers_pca = pca.transform(kmeans.cluster_centers_)
plt.scatter(centers_pca[:, 0], centers_pca[:, 1], c='red', s=200, marker='X', label='簇中心')
plt.xlabel('主成分1')
plt.ylabel('主成分2')
plt.legend()
plt.title('KMeans聚类结果PCA降维可视化')
plt.show()

降维可视化说明:每个点对应一个样本,不同颜色代表不同簇,红色X为簇中心,可直接观察簇与簇之间的分隔效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 15:36:04