我接触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)的更多相关文章

  1. PCA算法是怎么跟协方差矩阵/特征值/特征向量勾搭起来的?

    PCA, Principle Component Analysis, 主成份分析, 是使用最广泛的降维算法. ...... (关于PCA的算法步骤和应用场景随便一搜就能找到了, 所以这里就不说了. ) ...

  2. 模式识别(1)——PCA算法

    作者:桂. 时间:2017-02-26  19:54:26 链接:http://www.cnblogs.com/xingshansi/articles/6445625.html 声明:转载请注明出处, ...

  3. PCA算法学习(Matlab实现)

    PCA(主成分分析)算法,主要用于数据降维,保留了数据集中对方差贡献最大的若干个特征来达到简化数据集的目的. 实现数据降维的步骤: 1.将原始数据中的每一个样本用向量表示,把所有样本组合起来构成一个矩 ...

  4. PCA算法详解——本质上就是投影后使得数据尽可能分散(方差最大),PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主⼦空间(principal subspace),使得投影数据的⽅差被最⼤化(Hotelling, 1933),即最大方差理论。

    PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量 ...

  5. sklearn中调用PCA算法

    sklearn中调用PCA算法 PCA算法是一种数据降维的方法,它可以对于数据进行维度降低,实现提高数据计算和训练的效率,而不丢失数据的重要信息,其sklearn中调用PCA算法的具体操作和代码如下所 ...

  6. python实现PCA算法原理

    PCA主成分分析法的数据主成分分析过程及python原理实现 1.对于主成分分析法,在求得第一主成分之后,如果需要求取下一个主成分,则需要将原来数据把第一主成分去掉以后再求取新的数据X’的第一主成分, ...

  7. 三种方法实现PCA算法(Python)

    主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目 ...

  8. 降维之pca算法

    pca算法: 算法原理: pca利用的两个维度之间的关系和协方差成正比,协方差为0时,表示这两个维度无关,如果协方差越大这表明两个维度之间相关性越大,因而降维的时候, 都是找协方差最大的. 将XX中的 ...

  9. OpenCV学习(35) OpenCV中的PCA算法

    PCA算法的基本原理可以参考:http://www.cnblogs.com/mikewolf2002/p/3429711.html     对一副宽p.高q的二维灰度图,要完整表示该图像,需要m = ...

随机推荐

  1. 机器学习之路: tensorflow 自定义 损失函数

    git: https://github.com/linyi0604/MachineLearning/tree/master/07_tensorflow/ import tensorflow as tf ...

  2. 机器学习之路:tensorflow 深度学习中 分类问题的损失函数 交叉熵

    经典的损失函数----交叉熵 1 交叉熵: 分类问题中使用比较广泛的一种损失函数, 它刻画两个概率分布之间的距离 给定两个概率分布p和q, 交叉熵为: H(p, q) = -∑ p(x) log q( ...

  3. hdu 2266 dfs

    题意:在数字之间添加运算符号,使得结果等于题目中要求的Sample Input123456789 321 1Sample Output181 这题虽然看起来比较简单,但是之前和差的状态不太好表示,因此 ...

  4. SLF4J versions 1.4.0 and later requires log4j 1.2.12 or later 终极解决

    http://blog.sina.com.cn/s/blog_54eb26870100uynj.html 到SLF4J官方网站:http://www.slf4j.org/codes.html#log4 ...

  5. ztree插件的使用及列表项拖拽的实现(jQuery)+异步加载节点数据

    为了实现如图所示的树状结构图,并使列表项可拖动到盒子里,研究了ztree这个插件的使用,并仔细研究了列表项的拖动事件.完成了预期需求,对jQuery的运用得到了提高.这个插件的功能非常强大,除了基本的 ...

  6. 打印后台程序服务没有启动,每次打开Powerdesigner都会要我安装打印机

    原因: 不光这个,就是word也需要你有个打印机.随便安一个就可以了.一般系统自带个Microsoft Office Document Image Writer的还报打印机,要是你有这个打印机的话.查 ...

  7. IPD概念

    集成产品开发-IPD简介 内训IPD流程,听完后,觉的流程的力量很强大,可以高效的团队几千上万人的研发团队,来正确地为同一个目标前进.因为讲解者是从华为出来的,所以,相关的案例分析以及理解,都是以华为 ...

  8. 安卓下查看kmsg内核日志

    cat /proc/kmsg <6>[ 2601.360] c0@A7 lm3695_early_suspend 247<6>[ 2601.380] c1@A7 gp2ap_e ...

  9. Top N的MapReduce程序MapReduce for Top N items

    In this post we'll see how to count the top-n items of a dataset; we'll again use the flatland book ...

  10. 最小二乘法least square

    上研究生的时候接触的第一个Loss function就是least square.最近又研究了一下,做个总结吧. 定义看wiki就够了.公式如下 E(w)=12∑n=1N{y−xWT}2E(w)=12 ...