# 研究杂感 × PCA分析

# 研究杂感 × PCA分析,第1张

写在前面

主成分分析(Principal Component Analysis,PCA)已经多次听到过了,最近在看论文时也用了一些奇奇怪怪的降维方法,一下子搜还不容易搜到相关的介绍,那就将其替换为PCA试试看吧(反正应该也差不多

PS:个人认为(如果不是请大佬们打醒我)PCA、LDA、LSA、CFS、Word2vec等都可以用来进行降维后的特征选择,在未来研究中其实可以尝试

那还是先把喜闻乐见的PCA学习一下吧~感觉以后也能用得上

正餐开始 1. PCA的实现过程

PCA是一种数据降维技术,它主要应用于数据的预处理。其一般实现过程主要有3步:

  1. 对原始数据零均值化
  2. 求协方差矩阵
  3. 接着对协方差矩阵求特征向量和特征值,这些特征向量组成了新的特征空间。
2. PCA的参数

sklearn.decomposition.PCA(n_components=None,copy=True,whiten=False)

n_components:PCA算法中所要保留的主成分个数n,也即保留下来的特征个数(最重要的参数,一般情况下只需要设置这个即可),如果什么都不填,默认会保留下来所有的特征(大多数情况降为2维)

copy:表示是否在运行算法时,将原始训练数据复制一份。若为True,则运行PCA算法后,原始训练数据的值不会有任何改变;若为False,在原始数据上进行降维计算。

whiten:白化,使得每个特征具有相同的方差

3. 开始实践

以鸢尾花数据集为例进行了实践

不足之处是颜色暂时不知道如何随鸢尾花数据集进行改变

4. 原理介绍

PCA到底做了一个什么事情呢?

首先来考虑一个特殊的情况:假如我们要保存的数据是一个二维的数据,都排布成了一条直线,我们现在只想存储一个维度的信息,这样的话我们存储的信息量就减少了

PCA就是找到一个新的坐标系,这个坐标系的原点落在数据的中心,坐标系的方向是往数据分布的方向走,这样我们即可将其降维。

新的坐标系原点、新的坐标系相对于原坐标系它旋转了多少角度,然后再去存储它新的坐标点(比如这里所有点都是分布在新坐标系的x轴上面,所以所有点的y坐标均为0(0就不用存储了,这样即可把二维降为一维))

所以PCA是什么?

简单的说PCA就是找坐标系

PCA即是找到一个坐标系,使得这个数据在只保留一个维度的时候,信息损失是最小的( 比如旋转到一个位置结果大家投影的点都集中到了一起,那就相当于没有保存多少信息,效果就不好)

那么怎么界定这个坐标系的好坏呢?

新坐标系的x轴(蓝色那根)被称为主成分1
新坐标系的y轴(黄色那根)被称为主成分2

当在主成分1上投影的方差最大的时候,即说明主成分1能保留最多的信息,这时候的轴就是最好的

那如何实现PCA呢?

首先要去中心化,即是说要把坐标轴的原点放在数据的中心
下图为未去中心化与去中心化后找数据中心的区别:

(剩下的感觉没多少用 暂时就这样吧 最重要的是实践)

结尾

这篇博文记得很水嗷 之后有机会再来调整修改吧

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/870348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存