PCA算法,从名字看也知道是用于降维的,通过提取主特征和主特征向量,丢掉次要的特征和特征向量,实现降维。

PCA算法流程(python代码实现流程):

1)零均值化

假如原始数据集为矩阵dataMat,dataMat中每一行代表一个样本,每一列代表一个特征。零均值化就是求每一列的平均值,然后该列上的所有数都减去这个均值。也就是说,这里零均值化是对每一个特征而言的,零均值化后,每个特征的均值变成0。

2)求协方差矩阵

numpy中的cov函数用于求协方差矩阵,参数rowvar很重要!若rowvar=0,说明传入的数据一行代表一个样本,若非0,说明传入的数据一列代表一个样本。因为newData每一行代表一个样本,所以将rowvar设置为0。

3)求得特征值和特征向量

调用numpy中的线性代数模块linalg中的eig函数,可以直接由covMat求得特征值和特征向量。

4)主成分个数选择

按照方差百分比来确定n的个数,用以保留最多信息,同时去除最多的噪声。

PCA算法流程:

PCA算法步骤(不涉及编程语言):

设有m条n维数据:

(1)将原始数据按列组成n行m列矩阵X;

(2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值;

(3)求出协方差矩阵;

(4)求出协方差矩阵的特征值以及对应的特征向量;

(5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P。(特征向量相当于方向基向量,对应特征向量的特征值相当原向量于在该基向量方向上的分量,因此特征值越大,原向量在该特征向量上的分量越大)

PCA降维的优缺点:

优点:

1. 对数据进行降维处理。PCA根据协方差矩阵特征值的大小进行排序,根据需要取前面最重要的部分,将后面的维度省去,可以达到降维从而简化模型或是对数据进行压缩的效果,同时又最大程度的保持了原有数据的信息。

2. 完全无参数限制。完全不需要人为的设定参数或是根据任何经验模型对计算进行干预,最后结果只与数据相关,与用户独立

缺点:

无参数限制同样也会成为它的缺点,如果用户通过观察得到了一些先验信息,掌握了数据的一些特征,但是无法通过参数化等方法进行干预,可能会得不到预期的效果。

降维具有如下一些优点:

1) 使得数据集更易使用。

2) 降低算法的计算开销。

3) 去除噪声。

4) 使得结果容易理解。

降维的算法有很多,比如奇异值分解(SVD)、主成分分析(PCA)、因子分析(FA)、独立成分分析(ICA)。

PCA计算主要步骤:

1、使用pca之前进行特征缩放;

2、计算特征矩阵X的协方差矩阵:

sigma = 1/m*XT*X

相关文献大部分公式都是要求计算协方差矩阵之前先将特征矩阵每一个维度减去平均值,这样是让数据分布以原点为中心,但并非必要,并不影响对数据分布方差的分析。

m 是样本数,即特征矩阵X的行数。X 的维度是 m×n,n 是特征向量的维度,即降维之前原始特征数。

得到的协方差矩阵sigma 是 n×n 的矩阵

3. 对协方差矩阵进行奇异值分解。

奇异值分解的几何意义这篇文章讲的特别好:  https://blog.csdn.net/jinshengtao/article/details/18448355

[U, S, V]  = svd(sigma);

U,S,V 都是n×n的矩阵

奇异值(特征值)描述了数据分布的形状。最大特征值(奇异值)对应的特征向量指向数据主要分布方向,即方差最大的方向!

->协方差矩阵特征值从小到大排列对应的特征向量指向数据分布的方差从大到小的方向。协方差矩阵特征值不受刚性变换的影响,而特征向量受刚性变换的影响!

其中 U 是 包含左奇异向量的矩阵,V 是包含右奇异向量的矩阵。S 是一个对角阵,对角线上的元素都是奇异值:s11, s22, s33, ..., snn,奇异值在S中从大到小排列.  特征向量即PCA需要将数据投影的方向!为什么PCA要将数据投影到特征向量的方向即方差最大的方向呢?因为数据的分布无非是用均值和方差来表征,PCA主要考虑方差,投影后保留大部分的方差就意味着保留数据分布的大部分特征!使得样本数据往低维投影后,能尽可能表征原始的数据。

pca百分比取多少比较好_PCA(主成分分析)算法相关推荐

  1. pca百分比取多少比较好_主成分分析(PCA)的详细解释

    原作者:Zakaria Jaadi 翻译:钟胜杰 这篇文章的目的是提供主成分分析的完整同时比较简化的解释,特别是逐步回答它是如何工作的,这样每个人都可以理解它并利用它,而不必具有很高的数学水平. PC ...

  2. pca百分比取多少比较好_PCA分析

    输入: 1.FPKM矩阵(FPKM Matrix). 示例: T4    T5    T6    T7    T8    T9 BM590_A0001         390.11      379. ...

  3. pca各个向量之间的相关度_PCA主成分分析

    降维就是一种对高维度特征数据预处理方法.降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的.降维的算法有很多,比如奇异值分解(SVD).主成分分析(PC ...

  4. pca百分比取多少比较好_母亲节给妈妈发多少红包比较好合适 母亲节红包吉利数字含义...

    明天就是2020年的母亲节了(今年母亲节在5月10日),作为子女都会精心为妈妈准备一份礼物,而很多人会选择微信发红包的方式.那么,母亲节给妈妈发多少微信红包合适?小编整理了一些母亲节微信红包吉利数字, ...

  5. pca百分比取多少比较好_欧式家具沙发价格是多少?沙发怎么护理会比较好?

    点击蓝字 关注我们 现在很多家庭当中的装修风格都是偏欧式的,因为看上去非常的大气,不过有一个欧式装修就缺少不了欧式家具,欧式家具沙发价格是多少?这个问题相信很多人都比较苦恼,不过沙发的护理方法也是比较 ...

  6. java spark 主成分分析算法(pca)

    配置 配置请看我的其他文章 点击跳转 spark官方文档 点击跳转官方文档 数据 训练数据 代码 PCA算法的应用场景不是太明确,没做太多验证 实体类 用了swagger和lombok 不需要的可以删 ...

  7. R语言进行主成分分析(PCA)、使用prcomp函数进行主成分分析:碎石图可视化(scree plot)、R通过线图(line plot)来可视化主成分分析的碎石图(scree plot)

    R语言进行主成分分析(PCA).使用prcomp函数进行主成分分析:碎石图可视化(scree plot).R通过线图(line plot)来可视化主成分分析的碎石图(scree plot) 目录

  8. R语言进行主成分分析(PCA)、使用prcomp函数进行主成分分析:碎石图可视化(scree plot)、R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot)

    R语言进行主成分分析(PCA).使用prcomp函数进行主成分分析:碎石图可视化(scree plot).R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot) 目录

  9. 机器学习降维算法一:PCA(主成分分析算法)

    引言: 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达 ...

最新文章

  1. [转]asp.net文件下载方法...
  2. jQuery 基础选择器/层级选择器/隐式迭代
  3. python异步框架twisted_twisted是python实现的基于事件驱动的异步网络通信构架。
  4. 使用Hybris的customer conpon进行促销活动(promotion)
  5. 20175204 张湲祯 2018-2019-2《Java程序设计》 第一周学习总结
  6. 电脑长时间睡眠会自动关机吗_长期对着电脑皮肤会变黑吗?经常对电脑如何保护皮肤?...
  7. 信息学奥赛一本通(1253:抓住那头牛)
  8. ASP.NET Forms权限验证
  9. fn有toString方法,string没有toFunction方法,自定义一个toFunction方法
  10. java二叉树求权值_百度笔试题目:二叉树路径权值和【转】
  11. C#的Access数据库的连接类
  12. P2424 约数和 真丶除法分块
  13. 114. PHP command line getopt
  14. 邮箱服务器未运行,smtp服务器,smtp服务器未设置
  15. 文本框里面加删除按钮
  16. pychart绘制中国地图用英文省名
  17. APS系统在注塑行业的应用
  18. 【学术】参考文献管理
  19. 网页打印文档,不弹出浏览器打印对话框设计思路
  20. 菜狗杯Web签到wp

热门文章

  1. Effective Python
  2. vs2017 qt 修改exe图标没有更新成功
  3. Typescript从入门到精通(上)
  4. 被西南财经大学辞退的前院长,获得了今年的诺贝尔经济学奖
  5. div里面的图片垂直居中的方法
  6. pjsip for android,编译pjsip for Android
  7. 计算机系统分析师6,系统分析师:计算机硬件基础知识二[6]
  8. 《AutoCAD全套园林图纸绘制自学手册》一1.3 园林布局
  9. workflow工作流(二):34张表
  10. C语言刷题训练营-自我补全