PCA(matlab)学习,与记录

最近学习ML(Matlab),用到了PCA,参考了网上的一些资料,现在总结如下,以后忘记的话,可以回来看看。
参考地址:https://blog.csdn.net/qq1987924/article/details/45965431

先来看个例子:(借用参考地址的数据)
load hald; %载入matlab内部数据
[pc,score,latent,tsquare] = pca(ingredients); %调用pca分析函数
pc:是ingredients的协方差矩阵特征值对应的特征向量,排列按照特征值从大到小的顺序排列。
负载矩阵pc =
  -0.0678 -0.6460 0.5673 0.5062
  -0.6785 -0.0200 -0.5440 0.4933
  0.0290 0.7553 0.4036 0.5156
  0.7309 -0.1085 -0.4684 0.4844
score:原数据集ingredients转换到新空间的矩阵。
得分矩阵score =
  36.8218 -6.8709 -4.5909 0.3967
  29.6073 4.6109 -2.2476 -0.3958
  -12.9818 -4.2049 0.9022 -1.1261
  23.7147 -6.6341 1.8547 -0.3786
  -0.5532 -4.4617 -6.0874 0.1424
  -10.8125 -3.6466 0.9130 -0.1350
  -32.5882 8.9798 -1.6063 0.0818
  22.6064 10.7259 3.2365 0.3243
  -9.2626 8.9854 -0.0169 -0.5437
  -3.2840 -14.1573 7.0465 0.3405
  9.2200 12.3861 3.4283 0.4352
  -25.5849 -2.7817 -0.3867 0.4468
  -26.9032 -2.9310 -2.4455 0.4116
latent:
ingredients协方差矩阵对应的特征值,从大到小排列,其实也是score矩阵每一列的方差,方差越大,也就
代表数据越离散,表示的信息越多
517.7969
  67.4964
  12.4054
  0.2372
tsquare:
5.6803
  3.0758
  6.0002
  2.6198
  3.3681
  0.5668
  3.4818
  3.9794
  2.6086
  7.4818
  4.1830
  2.2327
  2.7216
这是一个统计量,用来衡量多变量之间的距离,这个距离是指样本观测值到数据集中心的距离。(不懂)
tsquare(i)=score(i,:)*inv(diag(latent))*score(i,:)‘
score(i,:) 得分矩阵的第i行
inv(diag(latent)):特征值组成的对角矩阵的 逆

下面按照参考blo里面,进行验证
[V,D] = eig(cov(ingredients))
  V =特征向量
  0.5062 0.5673 0.6460 -0.0678
  0.4933 -0.5440 0.0200 -0.6785
  0.5156 0.4036 -0.7553 0.0290
  0.4844 -0.4684 0.1085 0.7309
  D =特征值
  0.2372 0 0 0
  0 12.4054 0 0
  0 0 67.4964 0
  0 0 0 517.7969
pca是按特征值的大小排列的,这里没有按大小顺序排列,仅仅计算了特征值和特征向量。

至于选取几个主元,常用的方法也就是方差累计百分比法。

今天学习的时候,看到师姐的论文里面有用到Hotelling T2图,T2是多个变量共同累计的标量,通过单变量控制图的形式来监控多变量工况,T2统计量的控制限

在二维面上表示一个椭圆。

目前还在看的过程中,还不懂什么意思。

大家有懂的,请多多指教~~~

原文地址:https://www.cnblogs.com/Airboy1/p/9657050.html

时间: 2024-10-24 04:06:29

PCA(matlab)学习,与记录的相关文章

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

[转载]Matlab实用小技巧——Matlab学习笔记

1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口.当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象.所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到). figu

舌尖上的安卓(android触控事件机制学习笔记录)

对于一个"我们从来不生产代码,我们只是大自然代码的搬运工"的码农来说.对android的触控机制一直是模棱两可的状态,特别是当要求一些自定义的控件和androide的自带控件(比如ViewPager,ListView,ScrollView)高度嵌套在一起使用时. 花了点时间梳理了下,做个笔记.对于一个触控的事件从用户输入到传递到Actigvity到最外层的Viewgroup在到子View,中间过程还可能穿插多个Viewgroup,android在ViewGroup提供了3个方法来控制流

django book学习问题记录

—————————————————————————————————— 位置:第五章<模型> 问题描述: >>> p1 = Publisher.objects.create(name='Apress', ... address='2855 Telegraph Avenue', ... city='Berkeley', state_province='CA', country='U.S.A.', ... website='http://www.apress.com/') >

MATLAB学习(3)

matlab读取图像并转化为灰度图像 image = imread('C:\Users\Administrator\Desktop\图像降噪\src\original image\100.png'); image = rgb2gray(image); image = imread('C:\Users\Administrator\Desktop\图像降噪\src\original image\1.bmp'); image = rgb2gray(image); % figure ,imshow(im

Activiti 学习笔记记录(二)

上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Activiti就是来走这个流程的.所以我们还需要将Activiti 和 业务结合起来,即部署定义(画一个流程图,生成 bpmn 格式的文件).本章,就来讲 bpmn 的图怎么画? 一.什么是 bpmn 业务流程建模标记法 BPMN (Business Process Model and Notation),是工作

matlab学习---------------进度条waitbar

语法: h = waitbar(x,'message') waitbar(x,'message','CreateCancelBtn','button_callback') waitbar(x,'message',property_name,property_value,...) waitbar(x)   %将进度条进度改为新值 waitbar(x,h)  %将句柄h的进度条进度改为x waitbar(x,h,'updated message') %更新进度条显示的进度和文字 实例1):h = w

Matlab学习----------GUI数据管理

向gui handles结构体中添加新的字段: hbtn=uicontrol('tag','mybtn',... 'style','pushbutton',...%普通的按钮 'callback',{@mybtn_Callback,handles},...%回调函数 'string','用户自定义的按钮',...%按钮上的内容 'units','normalized',... 'position',[0.45 0.5 0.2 0.1]); handles.mybtn=hbtn; handles.

matlab学习------------普通dialog对话框,错误对话框errordlg,警告对话框warndlg

Dialog对话框 语法: h = dialog('PropertyName',PropertyValue,...) 对话框的默认属性 WindowStyle的值:   {normal} | modal | docked 具体实例: out = dialog;    %默认显示对话框之后点击对话框中的空白部分对话框会关闭掉 结果: %普通对话框 out = dialog('WindowStyle', 'normal',... 'Name', '我的Dialog对话框',... 'position