PCA 小代码   仅做一下小的测试 了解PCA的功能   将2维数据降成一维后  与原数据对比

 

 

Row=2;
Col=10;


X=[2.5 2.4
0.5 0.7
2.2 2.9
1.9 2.2
3.1 3.0
2.3 2.7
2 1.6
1 1.1
1.5 1.6
1.1 0.9];

X=X.';



average=zeros(Row,1);

for m=1:Row    
    average(m)=sum(X(m,:))/Col;
end

XX=zeros(Row,Col);
for n=1:Col
XX(:,n)=X(:,n)-average;          
end

S=XX*XX'/(Col-1);

[V,D]=eig(S);

% 是否去掉比较小的特征根对应的特征向量上的信息
% V(1,1)=0;   
% V(2,1)=0;

Y=V'*XX

YY=V*Y

posted on 2009-06-19 09:01  feathersky  阅读(644)  评论(0编辑  收藏  举报