This question already has answers here:
Matlab - PCA analysis and reconstruction of multi dimensional data
(2个答案)
3年前关闭。
我正在尝试在Matlab中使用pca进行尺寸缩减。从下面的代码中,我得到系数,得分,潜伏和t平方。但是,如何从pc分析中减小实际尺寸对我来说仍然是模糊的。我想做的是将列数(本例中为3)减少到1或2。请告诉我该怎么做?
如预期的。
(2个答案)
3年前关闭。
我正在尝试在Matlab中使用pca进行尺寸缩减。从下面的代码中,我得到系数,得分,潜伏和t平方。但是,如何从pc分析中减小实际尺寸对我来说仍然是模糊的。我想做的是将列数(本例中为3)减少到1或2。请告诉我该怎么做?
matrix = [ 1 2 3; 4 3 2; 1 3 5; 4 2 3; 1 2 3; 2 1 3];
[coeff, score, latent, tsquared] = pca(matrix);
最佳答案
coeff
是您的主要成分矩阵,只需删除所需的列(从末尾开始!)即可截断它。换句话说-为了投影到1维,请使用coeff
的第一列,并将其乘以您的数据。如果要投影到2维,则取两列并乘以。您的数据为N x d,coeff为d x d,因此,如果将coeff限制为2列,则会得到
X coeff_truncated = projected_data
N x d d x 2 N x 2
如预期的。
08-25 00:27