clear
tic
%加载Matlab自带的鸢尾花(iris)数据集
load fisheriris;
X=meas;
%得到数据矩阵的行数和列数
m=size(X,1);
n=size(X,2);
%标准化处理:得到标准化后的矩阵SX
for i=1:n
SX(:,i)=(X(:,i)-mean(X(:,i)))/std(X(:,i));
end
%计算系数矩阵:covX
covX=corrcoef(SX);
%计算covX的特征值和特征向量
[V,D]=eig(covX);
%将特征值按降序排列
for j=1:n
DS(j,1)=D(n+1-j,n+1-j);
end
%计算贡献率
for i=1:n
DS(i,2)=DS(i,1)/sum(DS(:,1));%单个贡献率
DS(i,3)=sum(DS(1:i,1))/sum(DS(:,1));%累计贡献率
end
%假定主成分的信息保留率
T=0.95;
for k=1:n
if DS(k,3)>=T
com_num=k;
break;
end
end
%提取主成分的特征向量
for j=1:com_num
PV(:,j)=V(:,n+1-j);
end
%计算主成分得分
new_score=SX*PV;
for i=1:m
total_score(i,1)=sum(new_score(i,:));
total_score(i,2)=i;
end
%将主成分得分与总分放到同一个矩阵中
result_report=[new_score,total_score];
%按总分降序排列
result_report=sortrows(result_report,com_num*(-1)-1);
%输出结果
disp('特征值、贡献率、累计贡献率:')
DS
disp('信息保留率T对应的主成分数与特征向量:')
com_num
PV
disp('主成分得分及排序,按总分进行降序排列,最后一列为编号')
result_report
toc
%disp(['运行时间: ',num2str(toc)]);
PCA_iris_iris主成分分析_harbor5k1_pca_源码
版权申诉
57 浏览量
2021-10-04
02:03:55
上传
评论
收藏 10KB RAR 举报
海四
- 粉丝: 54
- 资源: 4715
最新资源
- Screenshot_20240522_084328_com.tencent.mm.jpg
- 附件计算机专业课选课说明-1.xlsx
- 基于TypeScript的ahousepet-admin-web管理系统设计源码
- 《广东开放大学学习指引》期末考核要求0522.zip
- mkl-2021.1.1-py2.py3-none-macosx-10-15-x86-64.whl
- mkl-2018.0.3-py2.py3-none-manylinux1-x86-64.whl
- halcon实现两幅图像相减
- mkl-2021.3.0-py2.py3-none-manylinux1-x86-64.whl
- IAR9.3主题配置,包含字体颜色等
- 才从简来.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈