教師なし分類を行っています。このために、分類用の n 個の機能があり、PCA を使用してデータを新しい部分空間に投影し、PCA の出力を使用してクラスタリングを実行したいと考えています。私は次のコードを書きました:
for c=1:size(feature,1)
feature(c,:)=feature(c,:)-mean(feature);
end
DataCov=cov(feature); % covariance matrix
[PC,latent,explained] = pcacov(DataCov);
これは私に与えます:
PC =
0.6706 0.7348 0.0965 0.0316 -0.0003 -0.0001
0.0009 -0.0060 0.0298 0.0378 0.8157 -0.5764
0.0391 -0.1448 0.5661 0.8091 -0.0406 0.0264
0.7403 -0.6543 -0.1461 -0.0505 0.0018 -0.0005
0.0003 -0.0020 0.0193 -0.0116 0.5768 0.8166
0.0264 -0.1047 0.8048 -0.5832 -0.0151 -0.0169
latent =
0.0116
0.0001
0.0000
0.0000
0.0000
0.0000
説明=
98.8872 <-----
1.0445
0.0478
0.0205
0.0000
0.0000
説明されたは、最初のコンポーネント (<-- で示される) のみが、説明された分散に実際に大きく寄与していることを示しています。
返信してください、最初のコンポーネントのみを使用して新しいフィーチャを作成することは可能ですか????
以下は、すべてのプリンシパルコンポーネントを使用して、新しい機能セット feature_New を提供しています。これは、クラスタリングを実行できる新しい機能セットを作成する正しい方法ですか?
feature_New= feature*PC;