如何用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()
相关推荐
Christo38 小时前
TFS-2018《On the convergence of the sparse possibilistic c-means algorithm》
人工智能·算法·机器学习·数据挖掘
用户Taobaoapi201413 小时前
京东店铺所有商品API技术开发文档
大数据·数据挖掘·数据分析
总有刁民想爱朕ha14 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
Stestack16 小时前
人工智能常见分类
人工智能·分类·数据挖掘
华科云商xiao徐19 小时前
告别IP被封!分布式爬虫的“隐身”与“分身”术
爬虫·数据挖掘·数据分析
eqwaak020 小时前
Matplotlib 动态显示详解:技术深度与创新思考
网络·python·网络协议·tcp/ip·语言模型·matplotlib
未来之窗软件服务1 天前
商业软件开发入门到精通之路-东方仙盟
人工智能·数据挖掘·仙盟创梦ide·东方仙盟·商业软件开发入门
民乐团扒谱机1 天前
逻辑回归算法干货详解:从原理到 MATLAB 可视化实现
数学建模·matlab·分类·数据挖掘·回归·逻辑回归·代码分享
计算机毕业设计指导2 天前
基于ResNet50的智能垃圾分类系统
人工智能·分类·数据挖掘
roman_日积跬步-终至千里2 天前
【软件架构设计(19)】软件架构评估二:软件架构分析方法分类、质量属性场景、软件评估方法发展历程
人工智能·分类·数据挖掘