如何用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()
相关推荐
简佐义的博客1 小时前
转录组数据分析实战,仅需99元(视频版)
大数据·人工智能·数据挖掘·数据分析·音视频
YangYang9YangYan1 小时前
2026高职财税大数据应用学数据分析的技术价值与应用前景
大数据·数据挖掘·数据分析
AI生成网页工具4 小时前
win10深度清理c盘工具哪个好?安全不误删的软件对比评测
数据挖掘
飞Link5 小时前
告别复杂调参:Prophet 加法模型深度解析与实战
开发语言·python·数据挖掘
飞Link5 小时前
深度解析 TSAD:时序数据异常分类与检测技术的全景指南
大数据·人工智能·机器学习·数据挖掘
咚咚王者5 小时前
人工智能之语言领域 自然语言处理 第五章 文本分类
人工智能·自然语言处理·分类
飞Link5 小时前
深度解析:基于专家的监管方法(Expert-Based Supervision)在复杂系统中的应用
python·数据挖掘·回归
CC数学建模6 小时前
2026 年(第 14 届)“泰迪杯”数据挖掘挑战赛——A 题:“秦直道”的路线规划完整思路 代码 结果 论文 分享
人工智能·数据挖掘
山海鲸可视化6 小时前
山海鲸教育版来了~助力数字化教育全面升级
信息可视化·数据挖掘·数据分析·数据可视化·3d模型
babe小鑫7 小时前
2026大专商务数据分析与应用专业学数据分析的价值
数据挖掘·数据分析