如何用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()
相关推荐
淡酒交魂19 分钟前
「Flink」业务搭建方法总结
大数据·数据挖掘·数据分析
java1234_小锋1 天前
一周学会Matplotlib3 Python 数据可视化-绘制自相关图
开发语言·python·信息可视化·matplotlib·matplotlib3
Jina AI1 天前
回归C++: 在GGUF上构建高效的向量模型
人工智能·算法·机器学习·数据挖掘·回归
瓦特what?1 天前
关于C++的#include的超超超详细讲解
java·开发语言·数据结构·c++·算法·信息可视化·数据挖掘
楚韵天工2 天前
基于多分类的工业异常声检测及应用
人工智能·深度学习·神经网络·目标检测·机器学习·分类·数据挖掘
OpenC++2 天前
【机器学习】核心分类及详细介绍
人工智能·机器学习·分类
思通数据3 天前
AI视频监控:重构安防行业智能化新生态
人工智能·安全·目标检测·机器学习·计算机视觉·重构·数据挖掘
java1234_小锋3 天前
一周学会Matplotlib3 Python 数据可视化-绘制热力图(Heatmap)
开发语言·python·信息可视化·matplotlib·matplotlib3
Blossom.1183 天前
把大模型当“温度计”——基于 LLM 的分布式系统异常根因定位实战
人工智能·python·深度学习·机器学习·自然语言处理·分类·bert
RIKI_13 天前
【浅学】tflite-micro + ESP32S3 + VScode + ESP-IDF 基于例程快速实现自己的图像分类模型训练部署全流程
单片机·分类