我怎样才能真正减少PCA的特征尺寸?

时间:2016-04-01 22:49:19

标签: matlab machine-learning pca feature-extraction feature-selection

我正在尝试使用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);

1 个答案:

答案 0 :(得分:3)

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

根据需要。