特征工程之PCA降维(主成分分析)总结

10 篇文章 0 订阅
订阅专栏

1.PCA是什么

PCA是什么?
PCA(Principal Component Analysis)是一种常用的数据分析方法
在这里插入图片描述
如上图所示,原来是三维的数据,通过分析找出两个主成分 PC1 和 PC2,那么直接在这两个主成分的方向上就可以形成一个平面,这样就可以把我们三位的样本点投射到这一个平面上(如右图)。那么此时的PC1和PC2都不单单是我们的其中某一维特征,而是各个特征通过某种线性变化的组合结果, 这就是PCA降维宏观上的效果。

PCA 通过线性变换将原始数据变换为一组各维度线性无关表示,可用于提取数据的主要特征分量及高维数据的降维, 而转换后的这组变量 PC1、PC2 便是我们所说的主成分。

那PCA降维是如何实现的呢?在讲其具体实现原理前,先要清楚 方差和协方差 的概念:方差大概就是一些点在一个维度的偏差,越分散的话方差越大。而协方差是衡量一个维度是否会对另一个维度有所影响,从而查看这两个维度之间是否有关系。

PCA通过线性变换将元数据映射到新的坐标系中,使映射后的第一个坐标上的方差最大,第一个坐标也就是第一个主成分PC1,以此类推。在sklearn的PCA包中,有一个explained_variance_ratio_,它代表降维后的各主成分的方差值占总方差值的比例,这个比例越大,则越是重要的主成分。

那么,怎么样才能实现“找到那样一个坐标,使得数据在这个坐标上的映射方差最大”呢?按照下面的计算过程就可以实现这个效果。

2. 算法思路

设有 n n n d d d维数据
在这里插入图片描述

详细推算

此部分转自: PCA降维原理 操作步骤与优缺点

首先对于数据集,有m个样本,设每个样本有n个维度。表示如下:

在这里插入图片描述
在上图中,其实只要看中间那幅图就行。左图和右图则是分别用来突出样本的和特征的关系,比如第一列,就是第一个样本的所有值;而第一行,就是第一个特征的所有值。

对于每一个维度我们就可以得到均值,如下图所示:
在这里插入图片描述
每一个维度减去这个均值,得到一个矩阵(相当于将坐标进行了平移)。

到这里,我们的数据“去中心化”就完成了,这样去中心化的目的就是:让每个特征下的均值都为0,后续计算特征之间协方差的时候就可以简化计算。注意,PCA的降维就是围绕每个特征(即每个坐标轴)进行展开,而不是围绕样本。因为就想开头图上描述的一样,样本点数量是不变化的,但是特征的维度会有改变,导致样本点的形状分布上发生变化。

最终,我们得到的去中心化结果如下:
在这里插入图片描述
现在,我们需要对处理后的数据在特征维度(也就是各个坐标轴之间)进行协方差矩阵的运算。

在图中我们一共有n个特征,若特征两两组合,我们会得到一个n^2的协方差矩阵(注:a12=a21,即转置值相等)。如下图所示:(其中每个f 就是原数据中一行一行的特征)
在这里插入图片描述
而协方差的定义为:
在这里插入图片描述
因此,协方差矩阵可以写成:
在这里插入图片描述
其中,m是样本点的个数,在上面已经提到过了。

(补充一点:其实可以发现,要得到这样的协方差矩阵,只需要原数据乘以自身的转置就能得到,如下图所示:
在这里插入图片描述
接下来,就是对协方差矩阵求特征值和特征向量,并根据特征值从大到小排序,每个特征值对应着一个特征向量。对于求特征值和特征向量的方法,其实就是用特征值分解,或者是svd矩阵分解,在 这篇文章里有提到过,原理都类似。

矩阵分解是非常常见的操作矩阵方式。尤其是在推荐系统里,我们往往会有一个用户-物品矩阵,这个矩阵非常大,比如100w个用户*1000w个物品矩阵,这个时候我们可以通过矩阵分解一方面降低矩阵的维度,另一方面提取用户和物品各自的信息。

举个例子,对于100w1000w的用户-物品矩阵,我们可以得到100w10的用户矩阵和10*1000w物品矩阵。这样子其中的10维向量就是我们提取的主要特征。一般来说我们会把矩阵先分成三块再得到其中的这两块,具体原因看完这两种分解方式就懂了~

下面没有涉及公式推导,主要是想整理两者的主要区别和记录一下对基本道理的理解。

特征值分解

对于维度为 n*n 并且有 n 个线性无关的特征向量的矩阵 A,按特征值分解,可以分解为:
A = U ∧ U − 1 A=U\wedge U^{-1} A=UU1
(下面为了方便打我把中间的符号打成V)

其中 U 是由矩阵的特征向量组成的,V 是由矩阵的特征值组成的对角阵。

这就是特征值分解

我感觉特征值分解就是帮助我们我们得到矩阵A的特征向量和特征值的。这样子我们就可以在特征向值V中再选取较大的前几个,再提取它们对应的特征向量进一步提取矩阵的主要特征。

但很显然特征值分解的条件很苛刻:需要n*n的方阵,并且要求有n个线性无关的特征向量,所以用的并不多。

优缺点

PCA 本质上是将方差最大的方向作为主要特征,并且在各个正交方向上将数据“离相关”,也就是让它们在不同正交方向上没有相关性。

因此,PCA 也存在一些限制,例如它可以很好的解除线性相关,但是对于高阶相关性就没有办法了,对于存在高阶相关性的数据,可以考虑Kernel PCA,通过 Kernel 函数将非线性相关转为线性相关。另外,PCA 假设数据各主特征是分布在正交方向上,如果在非正交方向上存在几个方差较大的方向,PCA 的效果就大打折扣了。

参考链接:

[1] K-means高维聚类与PCA降维 2019.11
[2] PCA 降维算法 —— 原理与实现 2018.6
[3] PCA降维原理 操作步骤与优缺点 2022.5
[4] 高维度数据能否使用kmeans? 2018.8

一文速学数模-降维模型(一)PCA主成分分析法)原理以及应用+代码实现
master_hunter的博客
03-05 4万+
前言 PCA多用于对数据特征集进行降维,也方便对数据集进行可视化操作,说白了最后进行结果展示那么多特征向量要一起表示的话肯定很难展示,超过三维的数据就很难展示了。而PCA可对特征集进行简化,通俗的来讲也就是合并好理解。PCA应用的范围很广因此很有必要要学习,原理肯定还是数学证明,在特征工程上经常使用。希望读者看完能够提出错误或者看法,博主会长期维护博客做及时更新。纯分享,希望大家喜欢。 一、为什么需要PCA?(为什么要降维) 在各个领域进行数据收集或是数据采样时往往都是存在多个指标或是特征...
主成分分析pc1pc2表示啥_PCA主成分分析
热门推荐
weixin_34226837的博客
01-30 2万+
主成分分析( Principal Component Analysis, PCA) 是将原本鉴定到的所有代谢物重新线性组合,形成一组新的综合变量,同时根据所分析的问题从中选取2-3个综合变量,使它们尽可能多地反映原有变量的信息,从而达到降维的目的。同时,对代谢物进行主成分分析还能从总体上反应组间和组内的变异度。总体样本 PCA 分析采用 PCA 的方法观察所有各组样本之间的总体分布趋势,找出可能存...
PCA特征降维
08-27
特征降维,在特征维数较高时,会有数据冗余,该程序可以很好的进行特征降维
《机器学习》PCA数据降维 推导、参数讲解、代码演示及分析
最新发布
wx_AHao1004Y的博客
09-05 1619
主成分分析是一种经典的无监督降维方法,用于将高维数据集投影到一个较低维的子空间中。PCA的目标是找到一个新的坐标系,其中新的轴被称为“主成分”,这些主成分是原始数据中方差最大的方向。通过选择较少的主成分,可以保留数据集中的大部分信息,并且可以减少特征的数量,从而降低计算复杂度。
特征工程(五): PCA 降维
datayx的文章
12-20 1579
向AI转型的程序员都关注了这个号????????????机器学习AI算法工程 公众号:datayx通过自动数据收集和特征生成技术,可以快速获得大量特征,但并非所有这些都有用。我们前面讨...
特征工程——PCA
02-24 643
PCA: https://blog.csdn.net/program_developer/article/details/80632779 3.1 PCA的概念 PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。PCA的工作就是从原始的空间中顺序地找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切...
特征降维——PCA
蓝格子云
01-16 370
函数:[COEFF,SCORE,latent,tsquare] = princomp(roiData);大牛链接
特征降维方法——主成分分析PCA
weixin_50448632的博客
03-08 1911
1.1.分类 关于降维的学习主要分为五类:PCA、LDA、LLE、tSNE、ISOMAP .降维的作用:(为什么会有这些作用?) (1)降低时间的复杂度和空间复杂度 (2)节省了提取不必要特征的开销 (3)去掉数据集中夹杂的噪音 (4)较简单的模型在小数据集上有更强的鲁棒性 (5)当数据能有较少的特征更好地解释数据,适合我们可以提取知识 (6)实现数据的可视化 1.3.降维的目的 用来进行特征选择和特征提取。 ①特征选择:选择重要的特征子集,删除其余特征; ②特征提取:由原始特征形成的较少的新特征
K-PCA.rar_EZH_pca降维_pmgb_主成分分析pca_自编的主成分分析matlab代码
07-15
在标题"K-PCA.rar_EZH_pca降维_pmgb_主成分分析pca_自编的主成分分析matlab代码"中,提到的"K-PCA"是PCA的一种扩展,即Kernlab包中的Kernel PCA(核主成分分析),它引入了非线性映射,使得PCA能够处理非线性结构的...
PCA_sourcecode.zip_C 降维_PCA 降维_pca降维_特征降维_降维C
09-23
PCA主成分分析)是一种广泛应用于数据预处理和特征降维的技术。在机器学习和数据分析领域,PCA通过线性变换将原始数据转换成一组各维度线性无关的表示,同时尽可能保留原始数据的信息。这种变换可以减少数据的复杂...
PCA | 主成分分析代码+原理
09-23
**PCA主成分分析)** 是一种常见的统计学方法,用于数据降维和特征提取。在高维数据中,PCA能够找到数据集内的主要变化方向,即“主成分”,并将原始数据转换到由这些主成分构成的新坐标系中。通过保留最重要的几...
pca降维算法.rar_PCA 降维_pca_pca 降维_pca算法_pca降维
07-14
PCA主成分分析,Principal Component Analysis)是一种广泛应用的统计学方法,主要用来处理高维数据,通过线性变换将原始数据转换为一组各维度线性无关的表示,从而达到降维的目的,同时尽可能保持数据集中的方差...
特征工程降维(PCA)
咔咔响
08-19 896
1.降维是指用一组个数为 d 的向量 Zi 来代表个数为 D 的向量 Xi 所包含的有用信息2.数据降维使得数据集更易使用,确保变量之间彼此独立和降低算法计算运算成本3.高维空间上样本是...
【机器学习】特征降维 - 主成分分析PCA
wangyuxiang946的博客
07-20 1万+
主成分分析(Principal Component Analysis,PCA), 是一种「统计」方法。通过正交变换将一组可能存在「相关性」的变量转换为一组「线性不相关」的变量,转换后的这组变量叫「主成分」。
特征工程PCA教程
m0_72410588的博客
06-04 226
PCA是一种线性降维方法,通过将原始高维数据映射到一个低维空间中,使得新的数据集能够保留原始数据的大部分信息,从而达到降维的目的。在实践中,PCA通常用于像处理、数据压缩、计算机视觉和模式识别等领域。在本文中,我们详细介绍了PCA算法的原理和实现方法。PCA是一种重要的降维技术,可以在保留数据大部分信息的同时,提高计算效率和机器学习算法的准确性。希望读者通过本文的介绍和代码实现,对PCA算法有更加深入的了解,以便能在实践中更好地应用。
特征工程 PCA-- 027
小麦粒的Python
03-05 887
内容目录一、特征工程PCA 介绍二、PCA算法三、PCA 代码一、特征工程PCA 介绍  特征工程要做的事,就是获取更好的训练数据。特征工程是利用数据领域的相关知识来创建能够使机...
使用PCA对特征进行降维
APTX459770648的博客
01-24 4470
文章目录一、PCA是什么?二、使用方法1.引入库2.数据处理3.运用PCA进行降维总结 一、PCA是什么? 在大量数据中,很多特征之间可能都存在着一定的相关性。再者,特征划分的越细,特征数量越多还可能导致过拟合的情况出现。因此,在特征数量众多的情况下,可以采取一定的手段对特征进行降维主成分分析(Principal Component Analysis,简称PCA)是最常用的一种降维方法。该方法可以尽可能的保留大量特征中的主要信息,对特征数量进行简化,从而简化模型的计算。 接下来用Kaggle中的Ins.
面向机器学习的特征工程主成分分析PCA
weixin_41829234的博客
05-28 348
https://www.jianshu.com/p/16d4389ce92c
特征的转换_06-特征降维PCA
【人工智能】王小草的博客
02-07 1192
1. 为什么特征要降维?(1)特征之间如果存在多重共线性,或者说是较高的相似性,则模型会不准确,或被高估了水平,PCA降维可以消除特征之间的相似性,保持特征的独立性。(2)特征太多则模型复杂,在保持模型表现能力不减弱的情况下对特征进行降低维度能够简化模型。2. 如何降维?比如有特征x1, x2, x3. 寻找PC1 = w11*x1 + w12*x2 + w13*x3; PC2 = w21*x1
写文章

热门文章

  • 解决‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件 56996
  • 如何利用python提取字符串中的数字 48194
  • Captcha must be filled out,解决Kaggle新用户注册无法弹出验证提示的问题 46823
  • VSCode下载安装与使用教程 40248
  • 小波变换(深入浅出) 32034

分类专栏

  • 伟大变革ChatGPT 付费 29篇
  • 数据分析和机器学习案例(干货) 付费 9篇
  • 小波分析 付费 23篇
  • 风资源与微观选址 付费 21篇
  • Kaggle 付费 13篇
  • LeetCode 1篇
  • Oracle 1篇
  • 高等数学 1篇
  • 数据清洗 1篇
  • 成长 5篇
  • 数据库 9篇
  • LeetCode刷题 2篇
  • 深度学习环境搭建 12篇
  • Python初级 54篇
  • 7.数据清洗与准备 10篇
  • 字符串 4篇
  • 文件读写 9篇
  • pandas 32篇
  • Python面向对象编程 23篇
  • 机器学习算法 13篇
  • 聚类 25篇
  • 回归 9篇
  • sklearn 9篇
  • Python标准库使用 30篇
  • List 4篇
  • scipy 5篇
  • Warning 1篇
  • BookReading
  • Python数据挖掘入门 1篇
  • 1. 自然语言处理&知识图谱 25篇
  • Python编程:从入门到实践 6篇
  • Python绘图:Matplotlib&Seaborn 1篇
  • Python入门数据科学机器学习算法
  • 统计学原理 1篇
  • Python数据分析-pandas玩转Excel 4篇
  • 零基础Python+pycharm到精通 2篇
  • 曲率 1篇
  • 其它工具 2篇
  • QGIS 14篇
  • word 9篇
  • PPT 4篇
  • excel 16篇
  • big data 4篇
  • 数据分析方法 6篇
  • python工具
  • PyCharm 25篇
  • Anaconda 6篇
  • VSCode 4篇
  • python和pip安装 22篇
  • jupyter notebook 5篇
  • 秘密 4篇
  • matlab 6篇
  • bug 50篇
  • 论文阅读(English) 9篇
  • 特征工程 10篇
  • 利用Python进行数据分析 18篇
  • numpy 14篇
  • 数据载入存储及文件格式 2篇
  • 9.绘图与可视化 35篇
  • 10.数据聚合与分组操作 4篇
  • 11.时间序列 3篇
  • 时间序列论文及项目 4篇
  • Markdown语法 5篇
  • python数据分析案例------ 18篇
  • 深度学习数学基础 24篇
  • 线性代数 4篇
  • 概率论 4篇
  • Python深度学习 5篇
  • Windows操作 7篇
  • 自然语言处理 16篇
  • 深度学习入门 7篇
  • Git 31篇
  • 操作系统 2篇

最新评论

  • Python迭代器iter及生成器介绍

    Turing Kick out: 引用「from collections import Iterable」 纠正:from collections.abc import Iterable

  • 讲解python中groupby()的应用及groupby案例分析

    CSDN-Ada助手: 哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)提升标题与正文的相关性。

  • ModuleNotFoundError: No module named ‘jupyter_server‘

    八斗糟糠: 还是显示no moudle name jupyter_server

  • 谱聚类原理(深入浅出)

    赵孝正: k需要自己给定,可以采用网格搜索的思路。

  • 谱聚类原理(深入浅出)

    τ=Gγ: 所以聚类数目k是要自己给定吗,还有最后对 矩阵F进行传统的聚类(如k-均值聚类)可以说一下细节如何实现吗

大家在看

  • 问:数据库并发控制→隔离级别
  • 程序员·买房·留在一线城市 319
  • 密钥管理方法DUKPT的OpenSSL代码实现Demo
  • C++ | Leetcode C++题解之第504题七进制数
  • 数据处理和分析之数据聚类:K-means聚类:Python编程基础 739

最新文章

  • 哈希表(hash)介绍
  • 大数据都包括哪些内容
  • spark、hadoop和hive自学路线
2024
10月 17篇
09月 3篇
08月 10篇
07月 23篇
06月 4篇
05月 3篇
04月 9篇
03月 6篇
02月 1篇
01月 19篇
2023年254篇
2022年369篇
2021年1篇
2020年2篇

目录

目录

分类专栏

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家徐州景观玻璃钢雕塑常德玻璃钢牌匾雕塑中国澳门玻璃钢卡通雕塑图片青海玻璃钢雕塑艺术品商场设计美陈调研玻璃钢雕塑被风吹倒焦作玻璃钢校园雕塑玻璃钢卡通乐园雕塑玻璃钢雕塑公司厂家南昌园林景观玻璃钢雕塑北海商场美陈雕塑青岛常见玻璃钢花盆常熟元旦商场美陈益阳市玻璃钢雕塑定制南昌动物玻璃钢雕塑焦作火烈鸟玻璃钢雕塑安装鹤岗商场美陈中山玻璃钢运动鞋雕塑国外商场花艺美陈莆田玻璃钢人物雕塑定制上海进口玻璃钢雕塑价格园林景观玻璃钢雕塑怎么制作泸州玻璃钢雕塑定做张家口镜面玻璃钢卡通雕塑玻璃钢雕塑蔬菜水果贵阳贵州玻璃钢雕塑多少钱宝鸡景观园林校园玻璃钢雕塑铜仁贵阳玻璃钢雕塑定制长沙欧式玻璃钢雕塑玻璃钢佛像雕塑平台哪个好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化