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。
热门推荐
摄影就业中,如何与客户协商版权问题
深入解析同比增长:计算方法与经济意义探讨
竹木纤维集成墙板的优点 如何分辨竹木纤维集成墙板
驾乘险如何选择合适的保障方案?合适的保障方案有哪些优势?
三高人群必看!揭秘厨房里的“救命油”
体脂率计算方法及维持正常体脂的科学方式
如何应对传感器发展趋势带来的隐私和安全挑战?
拔牙几天才能恢复正常?详解拔牙后的恢复过程及所需时间
创新思维:激发想法的实用方法
远志怎么吃增强记忆力 远志煲汤怎么搭配
远志的功效与作用
鼻涕颜色能判断感冒类型吗?
留学日本职场文化解析:毕业后如何快速融入日企?
3·15特辑|逾期交房违约金竟设上限?法院判无效!
开发商违规交房能起诉吗
疫苗前沿 | 新冠刺突蛋白的免疫表位及通用疫苗的开发考量
洋水仙多久浇一次水
商标中的s和r标志有何不同?
物理去角质和化学去角质利弊分析
产业数字化的关键绩效指标(KPI)有哪些?
如何评估数字化转型的成熟度
一日玩转北京环球影城全攻略:行程、项目、用餐全指南
《字解百家姓》第29集:金姓
选择适合您的睡姿:了解不同姿势的优缺点
中考前一个月还能提分吗 如何冲刺
开学营养课:谁是当红小生——“全谷物”
大学期间参加实习、社团活动等对未来就业有多大帮助
如何在驾驶中进行安全拐弯?拐弯操作有哪些要点?
住房贷款夫妻双方都可以抵扣吗?回迁房没房产证能否贷款?
贫血与心脏病:定义、症状、原因及相互影响