pca算法的实现

本文介绍了PCA(主成分分析)的处理步骤,包括均值化、求协方差矩阵、计算特征值和特征向量,并分享了一段MATLAB实现PCA的源代码,通过将数据投影到最大k个特征向量上进行降维处理。
摘要由CSDN通过智能技术生成

        按照pca的处理步骤,终于用matlab把pca的算法写好了,本来想用C++写的,中间遇到了一个问题:就是在求特征值和特征向量的时候比较麻烦,需要QR迭代算法。自己就投机取巧,matlab里只需要调用一个函数就可以了。想着用matlab把功能实现了先看看效果。

        PCA的处理步骤:

        1,均值化

        2,求协方差矩阵(我知道的有两种方法,这是第一种,按部就班的求,第二种是:(A*A‘/(N-1)))

        3,求协方差的特征值和特征向量

        4,将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵

        5,将样本点投影到选取的特征向量上

matlab实现源代码

%PCA算法,matlab实现
function F=pcad(A,n)%A是M*N
%测试实例A=[2.5,0.5,2.2,1.9,3.1,2.3,2,1,1.5,1.1;2.4,0.7,2.9,2.2,3.0,2.7,1.6,1.1,1.6,0.9]
%结果F=[0.8280,-1.7776,0.9922,0.2742,1.6758,0.9129,-0.0991,-1.1446,-0.4380,-1.2238]
%PCA第一步:均值化
X=A-repmat(mean(A,2),1,size(A,2))%去均值
%PCA第二步:求特征协方差矩阵
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值