主成分分析(PCA)Matlab源码
function main()%*************主成份分析************
%
%see also
%
%读入文件数据
X=load('data.txt');
%==========方法1:求标准化后的协差矩阵,再求特征根和特征向量=================
%标准化处理
=size(X);
for j=1:n
mju(j)=mean(X(:,j));
sigma(j)=sqrt(cov(X(:,j)));
end
for i=1:p
for j=1:n
Y(i,j)=(X(i,j)-mju(j))/sigma(j);
end
end
sigmaY=cov(Y);
%求X标准化的协差矩阵的特征根和特征向量
=eig(sigmaY);
disp('特征根(由小到大):');
disp(lambda);
disp('特征向量:');
disp(T);
%方差贡献率;累计方差贡献率
Xsum=sum(sum(lambda,2),1);
for i=1:n
fai(i)=lambda(i,i)/Xsum;
end
for i=1:n
psai(i)= sum(sum(lambda(1:i,1:i),2),1)/Xsum;
end
disp('方差贡献率:');
disp(fai);
disp('累计方差贡献率:');
disp(psai);
%综合评价....略
**** Hidden Message *****
很有用,收下了 谢谢楼主啦 他干嘛不zscore 谢谢楼主啊! 非常感谢楼主! 我QQ空间里有一篇日志就是讲解这个的。能不能把它同步过来呀? 好贴,人人求 赞一个!!! 好