PCA特徴量の分散
ここに6次元の魚のデータセットがあります。しかし、その内在次元はいくつでしょうか。PCA特徴量の分散を表示して確認しましょう。これまでと同様に、samplesは2次元配列で、各行が1匹の魚を表しています。まず特徴量を標準化する必要があります。
この演習はコースの一部です
Pythonで学ぶ教師なし学習
演習の手順
StandardScalerのインスタンスを作成し、scalerという名前を付けてください。PCAのインスタンスを作成し、pcaという名前を付けてください。make_pipeline()関数を使って、scalerとpcaを連結したパイプラインを作成してください。pipelineの.fit()メソッドを使って、魚のサンプルsamplesにフィットさせてください。pcaの.n_components_属性を使って、使用された主成分の数を取得してください。これをrange()関数に渡し、結果をfeaturesとして保存してください。plt.bar()関数を使って分散を表示してください。x軸にはfeaturesを、y軸にはpca.explained_variance_を指定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Perform the necessary imports
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
import matplotlib.pyplot as plt
# Create scaler: scaler
scaler = ____
# Create a PCA instance: pca
pca = ____
# Create pipeline: pipeline
pipeline = ____
# Fit the pipeline to 'samples'
____
# Plot the explained variances
features = ____
plt.bar(____, ____)
plt.xlabel('PCA feature')
plt.ylabel('variance')
plt.xticks(features)
plt.show()