PCA主成分分析基本原理及案例
发布于 2024-10-26
1022
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
Python学习杂记
扫码关注公众号
扫码阅读
手机扫码阅读
主成分分析(PCA)摘要
基本原理
主成分分析(PCA)是一种在保留数据主要特征信息的前提下减少数据维度的技术。它通过将数据转换到新坐标系统来实现,其中新坐标的基是由数据集协方差矩阵的特征向量组成。这些特征向量称为主成分,第一主成分具有最大方差,依次类推。选择前几个主成分可以用更少的维度描述原始数据。
实现步骤
- 标准化:对数据进行去中心化处理,将每个特征的均值变为0,标准差变为1。
- 计算协方差矩阵:在标准化数据的基础上计算特征之间的协方差矩阵。
- 特征值和特征向量:计算协方差矩阵的特征值和特征向量,确定新坐标系的投影方向和长度。
- 选择主成分:根据特征值的大小选择前k个特征向量作为主成分。
- 数据转换:使用选定的主成分将原始数据转换到新坐标系。
详细案例
案例使用Python对鸢尾花数据集进行PCA降维。首先导入必要的库,包括numpy, matplotlib, seaborn, PCA和StandardScaler。数据集加载后,使用StandardScaler进行标准化。然后初始化PCA,将数据降维到2维。通过可视化,我们可以看到降维后不同类别的鸢尾花在二维空间中被清晰区分。
# 导入库
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
sns.set()
# 数据处理
iris = load_iris()
X = iris.data
y = iris.target
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# PCA降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
# 结果可视化
plt.figure(figsize=(8, 6))
for i, target_name in enumerate(iris.target_names):
plt.scatter(X_pca[y == i, 0], X_pca[y == i, 1], label=target_name)
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.legend()
plt.title('PCA of IRIS dataset')
plt.show()
Python学习杂记
Python学习杂记
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
Python学习杂记的其他文章
机器学习-支持向量机基本原理介绍
支持向量机(Support Vector Machine,简称SVM)是机器学习中常用的一种监督学习算法。
Pandas的30个高频函数使用介绍
Pandas是Python中用于数据分析的一个强大的库,它提供了许多功能丰富的函数。本文介绍其中高频使用的30个函数。
世界首位AI程序员爆火:Cognition公司的Devin
Devin是由Cognition 开发的全自主AI软件工程师,是世界上第一个能够独立完成项目从概念到完成的AI。
Discord使用介绍
Discord是一款跨平台的语音、文字聊天应用程序,主要针对游戏玩家、教育人士、朋友及商业人士。
pulp解决混合整数规划问题
pulp是用来求解线性规划、整数规划等的开源包。从官网介绍来看,其也能调用常用的求解工具来解决实际问题。
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线