我所认识的PCA算法的princomp函数与经历 (基于matlab)
我接触princomp函数,主要是因为实验室的项目需要,所以我一接触的时候就希望快点学会怎么用。
项目中需要利用PCA算法对大量数据进行降维。
简介:主成分分析 ( Principal Component Analysis , PCA )或者主元分析。是一种掌握事物主要矛盾的统计分析方法,它可以从多元事物中解析出主要影响因素,揭示事物的本质,简化复杂的问题。计算主成分的目的是将高维数据投影到较低维空间。
对于银行后台存储的大量数据进行分析,并不一件易事,由于每个人的信息属性众多,辨别起来颇为费力,我们可以利用PCA降维的功能把决定每个人的最重要的一些属性从众多的属性之中挑选出来作为基本指标建立模型,这个过程完全是通过机器学习的方法来挑选,避免人为主观因素的影响,最后结构比较科学可靠。
下面是本算法的主要过程描述:
首先将数据库里面整理好的数据导出为一个矩阵,然后按照同意和拒绝分为两类加上标签,用0代表拒绝,1代表同意(这一步会在后面的模型训练中用到)。
然后先降维,利用princomp函数将导出的矩阵作为输入,由于数据每个属性大小差别颇大,我们会利用协方差进行相应的处理,这一步不会对后面的结果有影响,只是对数值进行处理,便于后面的降维操作。princomp函数会输出4个参数其中latent是协方差矩阵的特征值,coef是输入矩阵所对应的协方差矩阵的所有特征向量组成的矩阵,即变换矩阵,我们利用latent取出coef前约90%的主成分与输入矩阵相乘所得到的的新的矩阵就是我们想要矩阵,这个过程也将原来的维数降低,同时将原有的坐标转换到新的坐标下。
再训练模型,首先我们将上面得到的新的数据和开始的时候提到的标签,利用交叉检验的原理,平均分成五分,将其中四份用作训练,一份作为测试交叉检验。训练主要利用svmtrain函数将上面得到四份数据作为输入,可以得到一个模型model。这个就是我们所要训练的模型。
最后利用svmpredict函数将测试数据和相应的标签作为输出,得出最后的准确率。
上面是我自己的见解,有不正确的地方希望多多批评指正。
目前困惑之一:princomp函数的输出有什么具体的规定,比如里面的数据大小(格式肯定是double的),应为看到网上有的是先对矩阵做一个处理,不知道这个处理的目的是什么,对最终的结果有什么影响,还有一般数据处理的过程是什么?
我所认识的PCA算法的princomp函数与经历 (基于matlab)的更多相关文章
- PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?
PCA, Principle Component Analysis, 主成份分析, 是使用最广泛的降维算法. ...... (关于PCA的算法步骤和应用场景随便一搜就能找到了, 所以这里就不说了. ) ...
- 模式识别(1)——PCA算法
作者:桂. 时间:2017-02-26 19:54:26 链接:http://www.cnblogs.com/xingshansi/articles/6445625.html 声明:转载请注明出处, ...
- PCA算法学习(Matlab实现)
PCA(主成分分析)算法,主要用于数据降维,保留了数据集中对方差贡献最大的若干个特征来达到简化数据集的目的. 实现数据降维的步骤: 1.将原始数据中的每一个样本用向量表示,把所有样本组合起来构成一个矩 ...
- PCA算法详解——本质上就是投影后使得数据尽可能分散(方差最大),PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主⼦空间(principal subspace),使得投影数据的⽅差被最⼤化(Hotelling, 1933),即最大方差理论。
PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量 ...
- sklearn中调用PCA算法
sklearn中调用PCA算法 PCA算法是一种数据降维的方法,它可以对于数据进行维度降低,实现提高数据计算和训练的效率,而不丢失数据的重要信息,其sklearn中调用PCA算法的具体操作和代码如下所 ...
- python实现PCA算法原理
PCA主成分分析法的数据主成分分析过程及python原理实现 1.对于主成分分析法,在求得第一主成分之后,如果需要求取下一个主成分,则需要将原来数据把第一主成分去掉以后再求取新的数据X’的第一主成分, ...
- 三种方法实现PCA算法(Python)
主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...
- 降维之pca算法
pca算法: 算法原理: pca利用的两个维度之间的关系和协方差成正比,协方差为0时,表示这两个维度无关,如果协方差越大这表明两个维度之间相关性越大,因而降维的时候, 都是找协方差最大的. 将XX中的 ...
- OpenCV学习(35) OpenCV中的PCA算法
PCA算法的基本原理可以参考:http://www.cnblogs.com/mikewolf2002/p/3429711.html 对一副宽p.高q的二维灰度图,要完整表示该图像,需要m = ...
随机推荐
- [ 转载 ] Okhttp的用法
Android中OkHttp的使用 LuckyXiang 简书作者 02018-01-18 19:04 打开App Android中OkHttp的使用 官方网站 | Javadoc 1 简介 OkHt ...
- 【贪心】【后缀自动机】Gym - 101466E - Text Editor
题意:给你两个串A,B,以及一个整数K,让你找到B的一个尽可能长的前缀,使得其在A串中出现的次数不小于K次. 对A串建立后缀自动机,然后把B串放在上面跑,由于每到一个结点,该结点endpos集合的大小 ...
- Android 性能监控系列一(原理篇)
欢迎关注微信公众号:BaronTalk,获取更多精彩好文! 一. 前言 性能问题是导致 App 用户流失的罪魁祸首之一,如果用户在使用我们 App 的时候遇到诸如页面卡顿.响应速度慢.发热严重.流量电 ...
- spring---transaction(6)---事务的配置
1 写在前面 上一篇我们了解到spring的事务的体系.这里我们将结合上篇讲spring事务的配置 2 Spring的三种事务配置形式 2.1 使用TransactionProxyFactoryBea ...
- angular 自定义指令参数详解【转】【个人收藏用】
restrict:指令在dom中的声明形式 E(元素)A(属性)C(类名)M(注释) priority优先级:一个元素上存在两个指令,来决定那个指令被优先执行 terminal:true或false, ...
- 分频器VHDL描述
在数字电路中,常需要对较高频率的时钟进行分频操作,得到较低频率的时钟信号.我们知道,在硬件电路设计中时钟信号时非常重要的. 下面我们介绍分频器的VHDL描述,在源代码中完成对时钟信号CLK的2分 ...
- Windbg 基础命令 《第一篇》
Windbg.exe是Windows的一个调试工具,它支持两种调试模式,即“实时调试模式(Living)”和“事后调试模式(Postmortem)”. 实时模式:被调试的程序正在运行当中,调试器可以实 ...
- mysql-debug
http://www1.huachu.com.cn/read/readbookinfo.asp?sectionid=1000002778 http://hedengcheng.com/?p=238 h ...
- 【spring cloud】【docker】使用docker在centOS上部署spring cloud微服务架构服务
项目GitHub地址 ================================================================================== 部署过程: ...
- Log4net 配置输出文本, 按年月日分文件夹 z
在项目中新建 “log4net.config” 文件 <?xml version="1.0" encoding="utf-8" ?> <con ...