调用pca降维:[score,latent]=pca(Abs);
报错输出参数太多,没搜到什么资料,看了官方文档调用方式也没问题
matlab自带的pca函数官方文档:https://ww2.mathworks.cn/help/stats/pca.html

emm这个问题困扰了我好久qaq
突然想到我调用的是我想调用的那个pca呢,会不会存在重名函数?

一搜在不同工具箱里有五个pca,看了一下是两种不同的。
然后照着这篇文章:https://blog.csdn.net/cakaf/article/details/109283091
更改首先调用路径(addpath语句)就OK了

虽说在这个问题上耗了一段时间,但是查了很多pca的资料,发现了两点,
其一,训练集和测试集要分别降维,统一降维存在“信息泄露”问题,测试集的信息提前被训练集知道了,相当于作弊
其二,对测试集的降维好像要依赖于训练集的降维方法。这个还没仔细找。

搜了一些pca资料记录下:
协方差:度量两个变量变动的同步程度,也就是度量两个变量线性相关性。如果两个变量的协方差为0,则认为二者线性无关
协方差矩阵:由数据集中两两变量的协方差构成

pca算法步骤
原始数据m行n列(每行一个样本)
①将X的每一列零均值化(用该列数据减掉该列均值)
②计算协方差矩阵D=X’X ,并计算D的特征值与特征向量
③特征向量按特征值(大→小)排列(竖着按列排)为矩阵P’
④取矩阵P’前k列构成矩阵P(想降至k维)
⑤降维后的数据Y=XP

贡献率是指选取的p个特征值之和占全部特征值之和的比重,一般取85%以上为特征值越大,对应的特征向量(主成分)包含的信息量越大

训练集降维:https://blog.csdn.net/fengkuangdexiaoji123/article/details/80986625
测试集的降维与训练集不一样,因为我们对于模型来说,是在训练集上进行训练的,所以如果要使用这个模型对测试集进行测试,那么就需要利用相同的处理将测试集中的数据也变换到与降维后训练集数据相同的数据空间中。具体来说就是在对测试集降维的时候,在第一步数据零均值化的过程中,要减去的是训练集中相对应向量的均值,然后在乘以训练集的COEFF投影矩阵

之后再详细搜一搜这个,以及降维后数据可视化的问题
另外还有一点小感悟,看辣么多博客不如首先看一看官方文档,再说现在很多官方文档都有中文翻译了

错误使用pca,输出参数太多相关推荐

  1. matlab错误打印,错误使用 disp 输出参数太多。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 clear R=81;%砂轮半径mm lambdaS=0.3;%磨粒间距mm Vw=150;%工件进给速度mm/s n=2880;%主轴转速r/min o ...

  2. 在matlab中输出参数太多,本人在用matlab做空间杜宾模型,但是结果提示输出参数过多...

    本人在用matlab做空间杜宾模型,用的是jplv7工具箱做的,但是结果却提示输出参数过多,请问我应该怎么做,代码如下!(还有matlab只需要把面板数据设置成要求的格式就行么,没有其他的要求了,怎么 ...

  3. matlab错误使用cd输入参数太多,错误使用函数,输入参数太多怎么解决

    请各位大神帮帮忙,实在想不明白问题在哪.我想用二分法求零点,待求函数为HS(t)的调用函数.代码如下 主程序是这个: %二分法迭代求解思路 %初始化 clc cla clear all close a ...

  4. std输入参数太多matlab,错误使用函数,输入参数太多怎么解决

    请各位大神帮帮忙,实在想不明白问题在哪.我想用二分法求零点,待求函数为HS(t)的调用函数.代码如下 主程序是这个: %二分法迭代求解思路 %初始化 clc cla clear all close a ...

  5. matlab转scilab语言,为什么从matlab转换到scilab时会出现“错误的输出参数数”错误?...

    我试图把这个matlab代码转换成scilab,但是我有一些问题. N = 101; L = 4*pi; x = linspace(0,L,N); % It has three data set; 1 ...

  6. C++中出现错误“函数的参数太少”

    出现错误"函数的参数太少" 原因:实际参数和形式参数的数量不同 int f(int a,int b) f(m)   这样是错误的,形式参数有2个,实际参数应该有2个,而这只有1个. ...

  7. java方法带参数返回值_Java方法中的参数太多,第6部分:方法返回

    java方法带参数返回值 在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , ...

  8. Java方法中的参数太多,第6部分:方法返回

    在当前的系列文章中,我正在致力于减少调用Java方法和构造函数所需的参数数量,到目前为止,我一直专注于直接影响参数本身的方法( 自定义类型 , 参数对象 , 构建器模式 , 方法重载和方法命名 ). ...

  9. 【Grasshopper基础6】输入/输出参数可变的电池 / 如何让电池支持参数增加和减少

    相信大家一定在Grasshopper中见过输入或者输出参数可以自由变化的电池,例如,笔者常用的电池"Entwine"就可以在电池的输入端添加一个参数或者减少参数,用来支持更多的电池 ...

最新文章

  1. 安卓收藏功能怎么实现_收藏!微信群接龙功能怎么操作?
  2. c语言位运算符读音,C语言六种位运算符
  3. python爬虫背景_利用Python代码实现一键抠背景功能
  4. 佳顺通用进销存系统去广告_免费OA办公系统的问题汇总回答
  5. 手动清除后门程序Iexplores.exe
  6. vue 初始化方法_前端发展方向指南—Vue源码初始化
  7. leetcode 1584. 连接所有点的最小费用(并查集)
  8. mysql以秒为单位限制资源_MYSQL中限制资源的使用
  9. Android实例-手机安全卫士(三十五)-来电号码显示归属地
  10. 关于window.showModalDialog遭遇frameset不能初始化对话框大小
  11. 【ubuntu】配置zsh
  12. Atitit. 有限状态机 fsm 状态模式
  13. 谐振功率放大器的工作原理
  14. WinFrom窗体MyQQ程序(附源码)
  15. vs2017c语言运行库,microsoft visual c++ 2017运行库下载-microsoft visual c++ 2017运行库32位64位下载官方版-西西软件下载...
  16. C语言调试教程总结(以visual studio和Dev C++为例)
  17. 高考30条干货分享!去哪能找到高质量2021高考学习资源?
  18. 使用jQuery发送简单的Ajax请求
  19. spyder中安装第三方库的包
  20. C++程序屏蔽windows2008系统安全界面(ctrl+alt+delete热键)

热门文章

  1. 我在哪一刻体验到了贫富的差距?
  2. main与WinMain的区别
  3. 有人看致富经成功的吗?什么项目?
  4. 基于语音信号识别性别(Matlab代码实现)
  5. 第1集丨IRIS 编程简介
  6. 各省市公务员考试时间
  7. 2021大厂Java面试真题(六)
  8. 今天下载了一个人分享的pdf书籍,但是是加密压缩,想要人买密钥,下载前又没有说明,很无奈
  9. 电商网站50W-100W高并发,秒杀功能是怎么实现的?
  10. 《攻防世界》学习笔记——web篇