当前位置: 首页 > news >正文

PCA降维

pca降维原理及过程
原始数据矩阵可能存在数千万列,高纬度数据可能引起维度灾难,严重影响模型性能,浪费资源,因此需要对其降维。pca可以对原始数据降维,去除数据中的噪声,便于后续分析。
PCA(Principal Component Analysis),即主成分分析方法。PCA的主要思想就是将n维特征映射到k维上。高维数据不好观测,以三维星空为例,到处散落的星星观测不出规律;pca就像是专业摄影师,用照相机以不同方位对星空拍照,星空照片是降维后的数据,可以从不同角度不同方位拍n张照片,找出看到云点最多的,展开最大最清晰的照片为最佳照片,云点其次,第二清晰的为第二好的照片,看不清的或者拍出来星星最小的舍弃,pca主要工作就是找出最好的一些照片,丢弃拍的不好的照片,好的照片能够大概反映星空的大部分特征。
PCA数学原理基于线性代数和统计学,通过线性变换将原始数据投影到新的坐标系中,使投影后的数据在第一个坐标上方差最大,第二个坐标次之,且与第一主成分正交。以此类推..

详细计算步骤如下:
1. 中心化数据
原始数据进行中心化,每个特征减去均值,使数据均值为0。

点击查看代码
# python
import numpy as np
# 假设原始矩阵X(m*n) -- m为样本数,n为特征值
X_std = (X - np.mean(X,axis=0)) / np.std(X,axis=0)

2. 计算协方差

计算中心化后的数据的协方差矩阵,协方差矩阵的形状为 p×p,其元素表示各特征之间的协方差。协方差矩阵对角线元素即每个特征的方差,非对角线元素即不同特征之间的协方差

点击查看代码
cov_matrix = np.cov(X_std.T)

3. 特征分解

Σ × v = λ × v
Σ :协方差矩阵
v :特征向量(主成分方向)
λ :特征值(主成分的重要性)

特征向量代表数据分布的主要方向,特征值λ代表数据在这个方向的延申程度

  1. 特征值排序和选择
点击查看代码
# 按特征值从大到小排序
idx = eigenvalues.argsort()[::-1]  # 降序排列
eigenvalues_sorted = eigenvalues[idx]
eigenvectors_sorted = eigenvectors[:, idx]# 选择前k个主成分
W = eigenvectors_sorted[:, :k]  # 投影矩阵 (n×k)

5. 投影变换

点击查看代码
# 将数据投影到主成分空间
X_pca = X_centered @ W  # (m×n) × (n×k) = (m×k)
http://www.rkmt.cn/news/12607.html

相关文章:

  • docker复制文件到宿主机
  • Day22多态详解
  • rad/s RPM之间的换算
  • “计算理论之美”课程笔记一:概率
  • 漏洞赏金猎手的新年目标实战指南
  • python 0入门基础第一课 - Jun
  • 数学作业
  • 日常刷题:cf每日一题+abc+反思复盘
  • 2025年9月26日 - 20243867孙堃2405
  • HarmonyOS 5 网络编程与材料存储实战:从RESTful API到本地持久化
  • C语言中的for循环
  • 理解 Elasticsearch 中的分块策略 - 详解
  • US$44 YH BMW CAS3 CAS4 Test Adapter Can Work With Yanhua Mini ACDP
  • 5.WPF控件---ComboBox - 实践
  • AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
  • javaEE初阶————多线程进阶(1) - 教程
  • 重链抗体(IgG2、IgG3)与传统抗体的核心区别:从结构到功能的全方位解析
  • 重点行业数字化转型一图参透 - 智慧园区
  • RustDesk:免费开源的跨平台远程桌面解决方案
  • ECMAScript6-学习指南-全-
  • JSP征婚信息实用的系统3kx16代码+源码+数据库+调试部署+开发环境
  • QT:如何初始化窗体尺寸大小
  • 9月23日(日记里有)
  • 9月25日(日记里有)
  • Overleaf项目文件同步工具: olsync
  • 有一个函数只会返回0和1,且返回0和返回1的概率不等。要求只能通过这个函数生成一个等概率返回0和1的函数
  • 代码随想录算法训练营第十天 | 232. 用栈实现队列、225. 用队列实现栈、20. 有效的括号、删除字符串中的所有相邻重复项
  • 关于“悬荡悟空”决策机制的简要技术说明
  • 搜维尔科技:Senseglove Nova 2触觉手套:虚拟训练、VR/AR模拟和研究中的触觉反馈