%% I. 清空环境变量 主成分分析
clear all
clc
%% II. 导入数据
load spectra;
%% III. 随机划分训练集与测试集
temp = randperm(size(NIR, 1));
% temp = 1:60;
%%
% 1. 训练集——50个样本
P_train = NIR(temp(1:50),:);
T_train = octane(temp(1:50),:);
%%
% 2. 测试集——10个样本
P_test = NIR(temp(51:end),:);
T_test = octane(temp(51:end),:);
%% IV. 主成分分析
%%
% 1. 主成分贡献率分析 PCAVar 特征值
[PCALoadings,PCAScores,PCAVar] = princomp(NIR);
figure
percent_explained = 100 * PCAVar / sum(PCAVar);
pareto(percent_explained)
xlabel('主成分')
ylabel('贡献率(%)')
title('主成分贡献率')
%%
% 2. 第一主成分vs.第二主成分 可以用于训练样本是否好的判断依据
[PCALoadings,PCAScores,PCAVar] = princomp(P_train);
figure
plot(PCAScores(:,1),PCAScores(:,2),'r+')
hold on
[PCALoadings_test,PCAScores_test,PCAVar_test] = princomp(P_test);
plot(PCAScores_test(:,1),PCAScores_test(:,2),'o')
xlabel('1st Principal Component')
ylabel('2nd Principal Component')
legend('Training Set','Testing Set','location','best')
%% V. 主成分回归模型
%%
% 1. 创建模型
k = 4; %主成分设置为4个
betaPCR = regress(T_train-mean(T_train),PCAScores(:,1:k)); %前四列提取出来建立回归模型
betaPCR = PCALoadings(:,1:k) * betaPCR;
betaPCR = [mean(T_train)-mean(P_train) * betaPCR;betaPCR];
%%
% 2. 预测拟合
N = size(P_test,1); %大家根据自己情况调整N值和P_test
T_sim = [ones(N,1) P_test] * betaPCR;
%% VI. 结果分析与绘图
%%
% 1. 相对误差error
error = abs(T_sim - T_test) ./ T_test;
%%
% 2. 决定系数R^2
R2 = (N * sum(T_sim .* T_test) - sum(T_sim) * sum(T_test))^2 / ((N * sum((T_sim).^2) - (sum(T_sim))^2) * (N * sum((T_test).^2) - (sum(T_test))^2));
%%
% 3. 结果对比
result = [T_test T_sim error]
%%
% 4. 绘图
figure
plot(1:N,T_test,'b:*',1:N,T_sim,'r-o')
legend('真实值','预测值','location','best')
xlabel('预测样本')
ylabel('辛烷值')
string = {'测试集辛烷值含量预测结果对比';['R^2=' num2str(R2)]};
title(string)
没有合适的资源?快使用搜索试试~ 我知道了~
9专题 降维与特征选择包括最小二乘法和主成分分析法通过matlab建模案例.zip
共3个文件
m:2个
mp4:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 159 浏览量
2023-06-21
10:55:30
上传
评论
收藏 115.06MB ZIP 举报
温馨提示
9专题 降维与特征选择包括最小二乘法和主成分分析法通过matlab建模案例.zip
资源推荐
资源详情
资源评论
收起资源包目录
9专题 降维与特征选择包括最小二乘法和主成分分析法通过matlab建模案例.zip (3个子文件)
9专题 降维与特征选择包括最小二乘法和主成分分析法通过matlab建模案例
9专题 降维与特征选择包括最小二乘法和主成分分析法通过matlab建模案例
code
PCR_Demo.m 2KB
PLS_Demo.m 1KB
9专题 降维与特征选择包括最小二乘法和主成分分析法通过matlab建模案例.mp4 119.25MB
共 3 条
- 1
资源评论
- m0_748939632024-05-02总算找到了自己想要的资源,对自己的启发很大,感谢分享~
JGiser
- 粉丝: 7543
- 资源: 5112
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功