码迷,mamicode.com
首页 > 其他好文 > 详细

matlab---pca

时间:2017-12-01 18:31:54      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:--   直接   样本   core   生成   bsp   and   就是   怎样   

 

参考:http://blog.csdn.net/jiandanjinxin/article/details/50598155

下面这个比较乱:http://blog.csdn.net/watkinsong/article/details/8234766

http://blog.csdn.net/lijihw_1022/article/details/46622667  这个链接求写协方差矩阵是X‘X/(n-1).似乎两种做法:/n或者/n-1都有看到过,可能类似总体std和样本std的关系吧.

"

[coef,score,latent,t2] = princomp(x);(个人观点):

x:为要输入的n维原始数据。带入这个matlab自带函数,将会生成新的n维加工后的数据(即score)。此数据与之前的n维原始数据一一对应。

score:生成的n维加工后的数据存在score里。它是对原始数据进行的分析,进而在新的坐标系下获得的数据。他将这n维数据按贡献率由大到小排列。(即在改变坐标系的情况下,又对n维数据排序)

latent:(协方差特征值而已,大小对应了方差,也就是所贡献的信息量大小)是一维列向量,每一个数据是对应score里相应维的贡献率,因为数据有n维所以列向量有n个数据。由大到小排列(因为score也是按贡献率由大到小排列)。

coef:是系数矩阵。通过cofe可以知道x是怎样转换成score的。

则模型为从原始数据出发:
score= bsxfun(@minus,x,mean(x,1))*coef;(作用:可以把测试数据通过此方法转变为新的坐标系)
逆变换:
x= bsxfun(@plus,score*inv(coef),mean(x,1))

"

score实际上就是原始数据经过pca变换后的数据,可以直接拿来用.

 

matlab---pca

标签:--   直接   样本   core   生成   bsp   and   就是   怎样   

原文地址:http://www.cnblogs.com/kprac/p/7943725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!