MAT之PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》

目录

输出结果

实现代码


输出结果

后期更新……

实现代码

load spectra;   <br>
temp = randperm(size(NIR, 1));P_train = NIR(temp(1:50),:);
T_train = octane(temp(1:50),:);P_test = NIR(temp(51:end),:);
T_test = octane(temp(51:end),:);[PCALoadings,PCAScores,PCAVar] = princomp(NIR); figure
percent_explained = 100 * PCAVar / sum(PCAVar);
pareto(percent_explained)
xlabel('主成分')
ylabel('贡献率(%)')
title('PCA:调用princomp函数实现各个主成分的贡献率—Jason niu')[PCALoadings,PCAScores,PCAVar] = princomp(P_train);
figure
plot(PCAScores(:,1),PCAScores(:,2),'r+')
title('PCA:通过PCA判断样本的测试集是否都在训练范围内—Jason niu')
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')k = 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];N = size(P_test,1);
T_sim = [ones(N,1) P_test] * betaPCR;error = abs(T_sim - T_test) ./ T_test;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));result = [T_test T_sim error]figure
plot(1:N,T_test,'b:*',1:N,T_sim,'r-o')
legend('真实值','预测值','location','best')
xlabel('预测样本')
ylabel('辛烷值')
string = {'PCA:利用PCA降维提高《测试集辛烷值含量预测结果对比》的准确度—Jason niu';['R^2=' num2str(R2)]};
title(string)

相关文章
PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》

MAT之PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》相关推荐

  1. MAT之PLS:利用PLS(两个主成分的贡献率就可达100%)提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》

    MAT之PLS:利用PLS(两个主成分的贡献率就可达100%)提高测试集辛烷值含量预测准确度并<测试集辛烷值含量预测结果对比> 目录 输出结果 实现代码 输出结果 实现代码 load sp ...

  2. R语言主成分分析PCA和因子分析EFA、主成分(因子)个数、主成分(因子)得分、主成分(因子)旋转(正交旋转、斜交旋转)、主成分(因子)解释

    R语言主成分分析PCA和因子分析EFA.主成分(因子)个数.主成分(因子)得分.主成分(因子)旋转(正交旋转.斜交旋转).主成分(因子)解释 目录

  3. R语言实战笔记--第十四章 主成分和因子分析

    R语言实战笔记–第十四章 主成分和因子分析 标签(空格分隔): R语言 主成分分析 因子分析 原理及区别 主成分分析与因子分析很接近,其目的均是为了降维,以更简洁的数据去解释结果,但这两种方法其实是相 ...

  4. ggbiplot-最好看的PCA作图:样品PCA散点+分组椭圆+主成分丰度和相关

    写在前面 https://github.com/vqv/ggbiplot/blob/master/README.md 前几天在<宏基因组0>微信讨论群看到了有人发了一个上面链接,点开一看居 ...

  5. Oja‘s PCA 用神经网络提取图片主成分 进行压缩和解压

    PCA的实现方法 一般来说有两种方法,一种用神经网络计算 ,能绕过求关联矩阵,速度快,适合在线提取:另一种是用线代传统方法计算,缺点是计算复杂性高,不适合在线提取.当然,python和matlab都有 ...

  6. 《机器学习实战》之十三——利用PCA来简化数据

    PCA目录 一.前言 二.降维技术 三.PCA 1.PCA的数学原理 (1)向量内积与投影 (2)基 (3)基变换 (4)方差与协方差 2.PCA算法步骤 3.在numpy中实现PCA (1)零均值化 ...

  7. 机器学习实战(十一)利用PCA来简化数据

    第十三章 利用PCA来简化数据 13.1 降维技术 13.1.1 主成分分析(PrincipalComponentAnalysis,PCA) 13.1.2 因子分析(Factor Analysis) ...

  8. PCA计算原特征(指标)对主成分的贡献量/权重

    1. 用PCA反推原始特征对主成分的贡献量或权重 使用python的sklearn包中的pca函数 # -*- coding: utf-8 -*- import os import numpy as ...

  9. R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据...

    原文链接:http://tecdat.cn/?p=24152 什么是PCR?(PCR = PCA + MLR)(点击文末"阅读原文"获取完整代码数据). • PCR是处理许多 x ...

最新文章

  1. linux 登录 忘记密码,redhat linux忘记登陆密码之解决办法
  2. python 私有云_利用Docker+NextCloud搭建私有云盘
  3. 【Ubuntu】ubuntu webqq桌面版pywebqq
  4. Linux: 利用 Alpine 在命令行里访问 Gmail
  5. java indexof 通配符,字符串与含有通配符‘*’的字符串匹配(非正则表达式)
  6. 微信小程序获取当前地址以及选择地址详解 地点标记
  7. vue 中 Excel 的导入导出
  8. python,无网、没网、生成环境迁移安装环境,支持virtualenv
  9. flutter能开发游戏吗_不用 H5,闲鱼 Flutter 如何玩转小游戏?-阿里云开发者社区...
  10. 一入职!就遇到上亿(MySQL)大表的优化....
  11. 今日头条向百度“开炮”:瞄准百度铁饭碗,上万台机器已在运作
  12. max如何渲染多张图片
  13. OA常见问题和解决方案
  14. android短视频列表自动播放,手把手教你实现视频列表滚动自动播放-短视频列表滚动播放实战...
  15. 凸优化极简笔记(三):椭圆方程的矩阵形式
  16. vim 文件保存退出 文件相关操作汇总
  17. 贤内助——ICMP协议
  18. 5G网速比4G快那么多,是否意味着4G即将淘汰?
  19. 抖音直播伴侣和快手直播伴侣如何实现无人直播还能防封号
  20. 夏季晒黑如何变白?店湾妹教你几招,皮肤回归白嫩

热门文章

  1. ARTS打卡计划第四周-TIPS-自定义一个LikeFilter
  2. 第12章 样式(三)
  3. DHCP 中继实验
  4. dede 会员中心编辑添加和修改图集的时候自定义的字段模型显示不出来的问题...
  5. 虚拟化技术的概述及使用
  6. 面试:一个 Java 字符串到底有多少个字符?
  7. 看问题要看到本质:从Web服务器说起
  8. 8 张图,看你是否理解 Java
  9. [Python]网络爬虫(四):Opener与Handler的介绍和实例应用
  10. Android --- 订单编号怎样不重复?一秒钟如果有n个人同时下单怎么解决?凌晨12点限量抢购1000件商品,直到抢完为止订单编号怎么处理?