pca 累积方差贡献率公式_PCA:从入门到入土到入神

PCA(主成分分析)是一种常用的降维方法,通过线性变换最大化保留数据方差。本文介绍了PCA的背景、原理以及在Python中使用sklearn库进行PCA操作的步骤,包括特征值计算和数据的降维处理。通过实例展示了PCA如何选择最佳方向并保留信息,以及如何在numpy中验证PCA的过程。
摘要由CSDN通过智能技术生成

ec3f6e0ff4db859aec03a0914e0a6b6c.png

写在前面

  • 看完这篇文章,你会知道
    • ①为什么要用PCA?
    • ②PCA的原理?
    • ③slearn中的PCA如何使用?
  • 资料来源于互联网课堂讲义
  • 欢迎讨论和补充~

1 背景

1.1 维数灾难

在做数据挖掘的时候,经常会遇到数据体量过大的情况,这种大体量往往会在两方面:

  1. 样本量过大(表现为行多);
  2. 样本特征过多(表现为列多);

从而在处理的时候会占用很多时间和空间,耗费大量的成本。

维数灾难(Course of Dimensionality)就是人们在对这种现象抽象化的概念。

对于提高运算效率的需求一直以来都存在——

1.2 解决之道

我们的对策往往也是针对行和列,以及算法、算力上进行展开的。

69b445cbb0364560e96bed2c77219101.png

一方面,样本上,通常采用抽样的方法

  • 我们知道样本代表着观测结果。如果没有重复的冗余数据,每一条都可以是有价值的。抽样就是从数据集中选取一小部分的数据进行分析,需要注意的是抽样规则很大程度会影响模型的训练效果(比如在样本不均衡的时候可以采用SMOTE等方法);

另外,特征上,可以进行特征选择和潜在特征构建

  • 特征选择(Feature selection):选取一部分有用或有价值的特征进入模型进行训练;
  • 潜在特征构建(Latent feature creation):新建新的字段来描述原本的特征。如对一类特征进行降维处理,使得降维后的数据能够表达原本的信息;

但是,高维数据的低位表达,即降维,必然会来信息的丢失:

8cdc87a99cbc210ada2cb928cd1e322e.png
2.6.1 主成分分析,数据挖掘:理论与算法(自主模式)

如袁博老师提到的例子(上图右侧):将一个三位的圆环从不同角度去观测,并映射到二维平面时,会得到不同的结果。每个结果始终会和原本的圆环有出入。

如果接触不到,那就无限接近。

保留全部信息是一种奢望,那确保降维过程能够尽可能保留原本数据的信息,就成了整个问题的核心。

PCA,Principle Component Analysis,就是一种较为简单和普遍的降维方法——

2 PCA

一句话定义:通过线性线性变换,将数据映射到低维的子空间中的降维方法,期间尽可能防止信息丢失。

2.1 从一个例子开始

问题来了,什么是数据的信息

很简单,举个例子,比如一群人的身高体重分布如下:

97ea8e8da07144f56050c4148c431db5.png
某组人的身高体重情况

我们能够说他们有所不同,正是因为组内,人与人之间的身高体重有差别

如果一个维度的差别越大,比如身高从1.5m~2m,那可以说组内的信息量就会比较多。反之,如果大家都是1.65m,那我们能从组里得到的信息就很少,几乎没有分析价值。

保留原本信息的目标就可以转换为保留原本方差,即数据的离散程度。

目标清楚了之后,就可以开始降维了。

它会需要我们重新构建一个基向量,其中包含两方面:方向位置

得到方向:将原本的数据映射到不同方向的单位向量上,会有不同的结果。我们有很多种选择,如何获得更好方向的呢?

还是上面的例子(二维往下就是一维啦):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值