基于MATLAB的PCA特征降维
我完全搞不懂PCA。我有一张尺寸为90x60x12x350的4D图像。这意味着每个体素是一个大小为350(时间序列)的向量 现在,我将3D图像(90x60x12)分割为立方体。假设一个立方体包含n个体素,那么我有n个大小为350的向量。我想把这个基于MATLAB的PCA特征降维,matlab,pca,Matlab,Pca,我完全搞不懂PCA。我有一张尺寸为90x60x12x350的4D图像。这意味着每个体素是一个大小为350(时间序列)的向量 现在,我将3D图像(90x60x12)分割为立方体。假设一个立方体包含n个体素,那么我有n个大小为350的向量。我想把这个n向量简化为一个向量,然后计算所有立方体的所有向量之间的相关性 所以对于一个立方体,我可以构造矩阵M,我只是把每个体素放在一个接一个的位置,即M=[v1 v2 v3…vn],每个v的大小都是350 现在我可以使用[coeff,score,潜伏,~,exp
n
向量简化为一个向量,然后计算所有立方体的所有向量之间的相关性
所以对于一个立方体,我可以构造矩阵M
,我只是把每个体素放在一个接一个的位置,即M=[v1 v2 v3…vn]
,每个v
的大小都是350
现在我可以使用[coeff,score,潜伏,~,explained]=PCA(M)在Matlab中应用PCA代码>并获取第一个组件。现在我的困惑开始了
我应该转置矩阵M
,即PCA(M')
我应该选择coeff还是score的第一列
第三个问题现在有点不相关了。让我们假设我们有一个
矩阵A=rand(30100)
其中行是数据点和
列是特征。现在,我想降低
保留特征向量,但保留所有数据点
如何使用PCA进行此操作
当我做[coeff,score,潜伏期,~,解释]=pca(M)代码>然后
系数为100x29,分数为30x29。我是
完全糊涂了
是的,根据pca的帮助,“X行对应于观察值,列对应于变量。”
score
只告诉您主成分空间中M
的表示。您需要coeff
的第一列
是的,根据pca的帮助,“X行对应于观察值,列对应于变量。”
score
只告诉您主成分空间中M
的表示。您需要coeff
的第一列
我不同意上面的答案
[coeff,score]=pca(A)
其中,A的行作为观察值,列作为要素
如果A有3个特征和>3个观察值(比如100),并且您想要2维的“特征”,那么就说矩阵B(B的大小是100X2)。你应该做的是:
B = score(:,1:2);
我不同意上面的答案
[coeff,score]=pca(A)
其中,A的行作为观察值,列作为要素
如果A有3个特征和>3个观察值(比如100),并且您想要2维的“特征”,那么就说矩阵B(B的大小是100X2)。你应该做的是:
B = score(:,1:2);
@ribond我应该在应用PCA(M列上的z分数)之前应用z分数(零均值,单位方差),还是应该在将特征向量输入到我的机器学习分类器(每个特征向量上的z分数)之前应用z分数(零均值,单位方差)?@ribond我应该在应用PCA(M列上的z分数)之前应用z分数(零均值,单位方差)或者我应该在将特征向量输入到我的机器学习分类器之前应用它(每个特征向量上的z分数)?