• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab自带princomp(PCA降维方式)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

matlab 中自带的函数就不必怀疑。

princomp:principal componet analysis (PCA).

[COEFF,SCORE,latent,tsquare]=princomp(X);

参数:

%%%%%%%%%%%%%%%%%%

INPUT: X是数据:n*p,其中n代表样本个数,p代表特征维数

%%%%%%%%%%%%%%%%%%

OUTPUT:

COEFF: 协方差 p*p,投影矩阵

SCORE:投影之后的数据。如果样本个数<=特征维数,有一个有意思的

             现象:SCORE(:,n:p), latent(n:p)都为零。为何呢?请以两个

             数据点为例。即n=2,p=3;当选择了一个投影轴之后,再选一个

             正交的抽,发现无论怎么选,它们投影之后都会重叠,即0。

latent:计算完之后并不是主成分归一化的权重。如果需要,用下面代码:

cumsum(latent)./sum(latent);

 

 

很注意的是:

训练样本计算出来了协方差矩阵。如果来了一个测试集,我们不能再去重新

计算一个协方差矩阵。因为那样会使训练集和测试集投影到不同的空间上,

最终导致特征空间不一致,训练出来的参数毫无意义。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Rust] 变量的属性: 不可变(immutable), 可变(mutable), 重定义(shadowing), 常量(con ...发布时间:2022-07-22
下一篇:
Rust学习之mod发布时间:2022-07-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap