始める無料で始める

PCAを使った測定値の無相関化

前回の演習で、穀物の幅と長さの測定値には相関があることがわかりました。今回は PCAを使ってこれらの測定値の相関をなくし、相関のなくなったデータ点をプロットして、ピアソン相関係数を測定してみましょう。

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

Pythonで学ぶ教師なし学習

コースを見る

演習の手順

  • sklearn.decompositionからPCAをインポートしてください。
  • PCAのインスタンスを作成し、modelという名前を付けてください。
  • model.fit_transform()メソッドを使って、grainsにPCA変換を実行してください。結果はpca_featuresに代入します。
  • pca_featuresの最初の2列を抽出してプロットし、ピアソン相関係数を計算するコードはすでに入力されています。「コードを実行する」をクリックして結果を確認しましょう。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import PCA
____

# Create PCA instance: model
model = ____

# Apply the fit_transform method of model to grains: pca_features
pca_features = ____

# Assign 0th column of pca_features: xs
xs = pca_features[:,0]

# Assign 1st column of pca_features: ys
ys = pca_features[:,1]

# Scatter plot xs vs ys
plt.scatter(xs, ys)
plt.axis('equal')
plt.show()

# Calculate the Pearson correlation of xs and ys
correlation, pvalue = pearsonr(xs, ys)

# Display the correlation
print(correlation)
コードを編集して実行