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)