PCA主成分分析法程序

%% test for princomp(Principal Component Analysis)  
clear;  
clc;  
%% load data set  
load cities;  
%% box plot forratings data  
% To get a quickimpression of the ratings data, make a box plot  
figure;  
boxplot(ratings,'orientation','horizontal','labels',categories);  
grid on;  
%% pre-process  
stdr =std(ratings);  
sr =ratings./repmat(stdr,329,1);  
%% use princomp  
[coeff,score,latent,tsquare]= princomp(sr);  
%% 如何提取主成分,达到降为的目的  
% 通过latent,可以知道提取前几个主成分就可以了.  
% 图中的线表示的累积变量解释程度.  
% 通过看图可以看出前七个主成分可以表示出原始数据的90%.  
% 所以在90%的意义下只需提取前七个主成分即可,进而达到主成分提取的目的.  
figure;  
percent_explained= 100*latent/sum(latent); %cumsum(latent)./sum(latent)  
pareto(percent_explained);  
xlabel('PrincipalComponent');  
ylabel('VarianceExplained (%)');  
%% Visualizing theResults  
% 横坐标和纵坐标分别表示第一主成分和第二主成分  
% 红色的点代表329个观察量,其坐标就是那个score  
% 蓝色的向量的方向和长度表示了每个原始变量对新的主成分的贡献,其坐标就是那个coeff.  
figure;  
biplot(coeff(:,1:2),'scores',score(:,1:2),...  
'varlabels',categories);  
axis([-.26 1 -.51.51]);  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值