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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PCA matlab是一种在matlab编程环境中使用主成分分析(PCA)方法的工具。通过调用matlab提供的pca函数,可以对数据进行降维、特征提取和数据可视化等操作。 通常,使用PCA matlab的步骤如下: 1. 准备数据集:首先,你需要准备一个数据集,该数据集应该是一个矩阵,其中每一列代表一个特征,每一行代表一个样本。 2. 标准化数据:在进行PCA之前,通常需要对数据进行标准化,以确保各个特征具有相同的重要性。你可以使用matlab中的zscore函数对数据进行标准化。 3. 调用pca函数:使用matlab中的pca函数对数据进行主成分分析。pca函数的基本用法是[pca_coeff, pca_score, pca_variance] = pca(data),其中data是输入的数据矩阵pca_coeff是主成分系数矩阵pca_score是降维后的数据矩阵pca_variance是每个主成分的方差贡献率。 4. 分析结果:根据主成分系数矩阵和方差贡献率,可以分析每个主成分对原始数据的解释能力和重要性。你可以使用这些信息来选择保留多少个主成分,以达到降维或特征提取的目的。 5. 可视化结果:如果你希望将降维后的数据可视化,你可以使用matlab中的scatter3函数或plot函数来绘制散点图或曲线图,以展示主成分分析的结果。 总之,PCA matlab是一种方便且强大的工具,可以帮助你进行主成分分析,并从数据中抽取重要的信息。通过调用matlab中的pca函数,你可以快速地进行降维、特征提取和数据可视化等操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MATLAB实例:PCA(主成成分分析)详解](https://blog.csdn.net/FDA_sq/article/details/122009888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [主成分分析(PCA)及其可视化——matlab](https://blog.csdn.net/qq_25990967/article/details/121324265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值