
5.9
詳細:主成分分析
443
分散の
50
%は
12
個の主成分に相当します。次に、この主成分を使い、逆変換を行って数字を再
構成します(図 5-90)。
In[16]: components = pca.transform(noisy)
filtered = pca.inverse_transform(components)
plot_digits(filtered)
図5-90 PCAを使ってノイズを除去した手書き数字
この信号保存
/
ノイズフィルタリング特性により、
PCA
は非常に有用な特徴選択機能となりま
す。例えば、非常に高次元のデータで推定器の学習を行うのではなく、入力のランダムノイズを自
動的に除去するフィルタリングを通した低次元表示を使って推定器の学習を行います。
5.9.3
事例:固有顔画像
既にサポートベクターマシン(「5.7 詳細:サポートベクターマシン」)で
PCA
を使用して顔認識
のための特徴抽出を行いました。ここでは、もう少し詳しく調べてみましょう。
scikit-learn
から利
用可能な
Labeled Faces in the Wild
データセットを使用していたことを思い出してください。
In[17]: from sklearn.datasets import fetch_lfw_people
faces = fetch_lfw_pe
ople(min_faces_per_person=60)
print(faces.target_names)
print(faces.images.shape) ...