始める無料で始める

PCA特徴量の分散

ここに6次元の魚のデータセットがあります。しかし、その内在次元はいくつでしょうか。PCA特徴量の分散を表示して確認しましょう。これまでと同様に、samplesは2次元配列で、各行が1匹の魚を表しています。まず特徴量を標準化する必要があります。

この演習はコースの一部です

Pythonで学ぶ教師なし学習

コースを見る

演習の手順

  • StandardScalerのインスタンスを作成し、scalerという名前を付けてください。
  • PCAのインスタンスを作成し、pcaという名前を付けてください。
  • make_pipeline()関数を使って、scalerpcaを連結したパイプラインを作成してください。
  • 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()
コードを編集して実行