通常有两种方式 1. 直接调用PCA函数princomp 2. 使用SVD分解,调用eig
1. 直接调用PCA函数princomp
princomp的输入是原始数据。princomp会自动进行中心化。
[COEFF,SCORE,LATENT]=princomp(X)
X: 原始输入数据 Rows of X correspond to observations, columns to variables.
LATENT: 特征向量
COEFF: PCA的映射矩阵,eigen vectors,
SCORE: 将输入data X映射到生成的PCA空间,得到的PCA coefficients
得到特征向量后,可以进行映射
(1)将数据从原始空间映射到PCA空间
score=bsxfun(@minus,X,mean(X,1))*COEFF (X为测试集)
(2)将PCA coeffeicients映射到原始数据空间
x=bsxfun(@plus,score*inv(