PCA降维算法原理与实现
创作时间:
作者:
@小白创作中心
PCA降维算法原理与实现
引用
CSDN
1.
https://blog.csdn.net/m0_62716099/article/details/141813685
什么是PCA?
主成分分析(Principal Component Analysis,PCA)是一种常用的数据降维技术,广泛应用于统计学、机器学习和数据科学等领域。它的主要目标是通过将数据从高维空间映射到低维空间,以保留数据的主要特征,并减少数据的维度。
PCA的主要应用场景包括:
- 数据降维:提取主要特征,减少算法的计算量
- 高维数据可视化:将高维数据通过PCA降维为2或3维,便于进行可视化
PCA的工作原理
PCA算法可以分为五个基本步骤:
1. 数据标准化
PCA通过计算方差来判断一个坐标轴上的信息量。为了确保方差计算的准确性,需要对数据集中的每一维特征进行标准化处理。这样可以避免范围较大的某一维数据对结果产生过大的影响。
2. 计算协方差矩阵
协方差矩阵用于计算数据集中不同维度之间的相关性。以一个三维点集为例,会得到一个3x3的协方差矩阵,其中对角线代表各维度本身的方差。所有估计都是无偏估计。
3. 计算特征矩阵与特征值
利用协方差矩阵计算特征向量与特征值。以一个二维点集为例,可以得到如下结果:
其中,v1和v2是特征向量,λ1和λ2是对应的特征值。在PCA中,特征值λ可以理解为信息量,特征向量则代表原始坐标轴的比例。例如,利用v1得到的新坐标轴可以表示为:0.67 * x + 0.73 * y(需要先对x和y进行标准化)。因此,PCA得到的新特征是以往特征的线性组合,可读性较差,没有真实的物理意义。
4. 特征向量排序
将特征值按照大小进行降序排序,让信息含量多的特征向量排在前面作为最主要成分。信息量的可视化如下:
5. 数据映射
根据需要的维度数量,对特征向量进行列方向上的拼接,然后通过矩阵计算的方式进行映射。
PCA的Python实现
PCA在Python中可以通过sklearn库实现,以下是将高维数据降维为2维并可视化的示例代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.decomposition import PCA
# 加载数据集
data = load_wine()
features = data.data # (178, 13),特征维度为13
label = data.target[:, np.newaxis] # (178,) -> (178, 1)
# 使用PCA将特征维度降为2
pca = PCA(n_components=2)
cor = pca.fit_transform(features) # (178, 2)
# 可视化结果
plt.scatter(cor[:, 0], cor[:, 1], c=label)
plt.show()
PCA参数说明
以下是PCA的主要参数说明:
n_components
:指定要保留的主成分数量。默认为None,表示保留所有成分。copy
:布尔值,默认为True。如果设置为True,则数据矩阵的副本将被计算,原始数据不会被修改。whiten
:布尔值,默认为False。如果设置为True,则数据将被白化,转换后的主成分将具有单位方差且彼此不相关。svd_solver
:指定用于计算奇异值分解(SVD)的算法,默认为'auto'。可选值包括'auto'、'full'、'arpack'和'randomized'。tol
:当使用ARPACK或随机化方法时,定义奇异值截断的容忍度,默认为0.0。iterated_power
:当使用随机化方法时,定义迭代次数,默认为'auto'。n_oversamples
:当使用随机化方法时,定义过采样的数量,默认为10。power_iteration_normalizer
:定义在随机化方法中使用的归一化策略,默认为'auto'。可选值包括'auto'、'QR'、'LU'和'none'。random_state
:当svd_solver为'arpack'或'randomized'时,用于控制随机数生成器的状态,默认为None。
建议读者养成查看官方文档的习惯,以便更好地理解和使用PCA。
热门推荐
人民币兑日元暴涨,中日贸易迎来新变局?
大学生实习实践的数据驱动与效果评估
职场人必看!如何有效监测高血压?
让孩子读名人传记,立下人生大目标!
妙佑医疗国际推荐:如何在家准确测血压?
16岁学短视频剪辑,规划未来不是梦!
人民日报正能量语录:助你16岁梦想起航
创业心态:职场人必备的隐形竞争力
高纤维食物:自然调节血糖的好帮手
震撼!揭开中国古代十大恶人的神秘面纱
长期持有,稳定收益:中国优质股票的投资策略
炒股应该如何选择投资标的?这种选择有哪些潜在风险?
什么是股票入门:股票投资基础知识
浙江美术艺考:高分攻略与备考指南
美术模拟考:冲刺艺考高分的秘密武器!
清美集训:美术生如何调适心理,突破重围?
胃胀气不能吃什么
三大运营商5G新突破:你家信号要升格了!
中国三大运营商加速布局6G技术,引领全球通信技术发展
乌尔善、陈牧驰的心理博弈:《封神二部》春节档的秘密
《封神第二部》在青岛影都的拍摄秘辛:揭秘30亿投资背后的工业化奇迹
《封神2》中的历史人物原型:考古专家解读
清水煮虾需要多长时间?正确煮虾方法全攻略
全面理解车牌识别系统的用途
2024年美术艺考满分计算大揭秘!
从278分到清华美院:一位美术生的逆袭之路
麻黄植物的种类和特征详解(从药用植物到园林观赏)
孕妇食用党参:功效与注意事项全解析
春季户外活动指南:6种运动方式及注意事项
这个与每个人性命攸关的职业,现在极度缺人