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

如何对K-Means聚类后的三维数据集进行标注与3D可视化?

三维数据集K-Means聚类与可视化实现

1. 读取CSV数据集

先用pandas读取你的三维CSV数据,提取x、y、z特征列用于后续聚类:

import pandas as pd

# 读取本地CSV文件(替换为你的实际文件路径)
df = pd.read_csv("your_data.csv")
# 提取三维特征
features = df[['x', 'y', 'z']].values

如果直接用你提供的样本数据,也可以用字符串IO快速加载:

from io import StringIO

data_str = """x,y,z, label
2,1,3, A
5,3,1, B
6,2,2, C
9,5,3, B
2,3,4, A
4,1,4, A"""
df = pd.read_csv(StringIO(data_str))
features = df[['x', 'y', 'z']].values

2. 执行K-Means聚类

和你处理二维数据的逻辑一致,直接用sklearn的K-Means对三维特征聚类:

from sklearn.cluster import KMeans

# 设置聚类数(根据数据规模调整,示例用3类,你原代码的5类也可直接替换)
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans_labels = kmeans.fit_predict(features)
# 将聚类标签追加回原数据集,方便后续对比分析
df['cluster_label'] = kmeans_labels

3. 三维可视化聚类结果

使用matplotlib的3D绘图模块生成带聚类标签的三维散点图:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 创建3D画布
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# 绘制三维散点,颜色对应聚类标签
scatter = ax.scatter(features[:, 0], features[:, 1], features[:, 2],
                     c=kmeans_labels, s=50, cmap='Spectral')

# 添加坐标轴标签与标题
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.title('3D K-Means Clustering Result')

# 添加聚类标签图例
plt.legend(*scatter.legend_elements(), title="Clusters")
plt.show()

额外优化:对比原标签与聚类标签

如果需要同时展示原标签和聚类结果,可以用不同标记区分原标签:

fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')

# 定义不同原标签对应的标记
unique_original_labels = df[' label'].unique()
markers = ['o', 's', '^']

for idx, label in enumerate(unique_original_labels):
    mask = df[' label'] == label
    ax.scatter(features[mask, 0], features[mask, 1], features[mask, 2],
               c=kmeans_labels[mask], s=50, marker=markers[idx], cmap='Spectral')

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.title('3D Clustering with Original Labels')
plt.legend(unique_original_labels, title="Original Labels")
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:27:17