如何用matplotlib绘制图像分类任务的类别特征空间分布

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
from mpl_toolkits.mplot3d import Axes3D

# 加载示例数据(Iris 数据集)
data = load_iris()
X = data.data
y = data.target
categories = data.target_names

# 使用PCA将数据降维到二维
pca_2d = PCA(n_components=2)
X_reduced_2d = pca_2d.fit_transform(X)

# 绘制二维特征空间分布
plt.figure(figsize=(10, 8))
for i, category in enumerate(categories):
    plt.scatter(X_reduced_2d[y == i, 0], X_reduced_2d[y == i, 1], label=category)
plt.xlabel('PCA 1')
plt.ylabel('PCA 2')
plt.title('类别特征空间分布(二维)')
plt.legend()
plt.savefig('2d_feature_space.png')
plt.show()

# 使用PCA将数据降维到三维
pca_3d = PCA(n_components=3)
X_reduced_3d = pca_3d.fit_transform(X)

# 绘制三维特征空间分布
fig = plt.figure(figsize=(12, 10))
ax = fig.add_subplot(111, projection='3d')
for i, category in enumerate(categories):
    ax.scatter(X_reduced_3d[y == i, 0], X_reduced_3d[y == i, 1], X_reduced_3d[y == i, 2], label=category)
ax.set_xlabel('PCA 1')
ax.set_ylabel('PCA 2')
ax.set_zlabel('PCA 3')
ax.set_title('类别特征空间分布(三维)')
ax.legend()
plt.savefig('3d_feature_space.png')
plt.show()
相关推荐
踩着两条虫5 小时前
VTJ.PRO v2.4.2 私有化部署与升级实操指南
前端·人工智能·低代码·架构·数据挖掘
KKKlucifer7 小时前
数据分类分级排名解析:三大核心能力决定选型方向
大数据·数据库·分类
babe小鑫8 小时前
数据分析在营销行业的价值分析
数据挖掘·数据分析
FrameNotWork8 小时前
HarmonyOS6.1 图像分类应用完整实战:从模型到界面
人工智能·分类·数据挖掘·harmonyos
babe小鑫9 小时前
数据分析在运营行业的价值分析
数据挖掘·数据分析
高洁019 小时前
用知识图谱重构搜索引擎
人工智能·python·数据挖掘·virtualenv·知识图谱
@insist1239 小时前
系统架构设计师-操作系统核心原理与分类体系
分类·数据挖掘·系统架构·软考·系统架构设计师·软件水平考试
ZHW_AI课题组9 小时前
使用ResNet网络实现猫狗数据集分类
网络·分类·数据挖掘
YangYang9YangYan10 小时前
学数据分析对学习编程的价值
学习·数据挖掘·数据分析
数智化管理手记10 小时前
轻量化落地!四维精益TPM实操体系,根治车间设备故障难题
大数据·数据挖掘