1

Matlabでpcaを使用して次元削減を実行しようとしています。以下のこのコードから、私は係数、スコア、潜伏、およびt-二乗を得る。しかし、それは私のPC分析から実際の次元を減らす方法はまだ私にはあいまいです。私がしたいのは、列の数(この場合は最初は3)を1または2に減らすことです。どうすればいいか教えてください。実際にPCAからフィーチャのディメンションを減らすにはどうすればよいですか?

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); 

答えて

2

coeffあなたの主成分行列で、あなたが望むように、単純に(端から!)など、多くの列を削除することによって、それを切り捨てます。つまり、1次元に投影するには、最初の列のcoeffを取得し、そのデータを乗算します。 2次元に投影する場合は、最初の2列目を乗算します。あなたのデータは、必要に応じて、あなたが

X  coeff_truncated = projected_data 
N x d  d x 2    N x 2 

を取得し、あなたが2列にCOEFFを制限するようならば、NのX dは、COEFFをd X dとなります。

関連する問題