回帰③ (ボストン住宅価格データの相関)

ボストン住宅価格データの変数同士の相関係数を確認します。

相関とは、2つの変数間で一方が変わればそれにつられてもう一方も変わるという関係性のことです。

その相関度合いを数値化したものが相関係数です。

機械学習において、相関係数は説明変数を選択する上で重要な指標となります。

相関係数

pandascorrメソッドを使うと、相関係数を簡単に算出することができます。

[Google Colaboratory]

1
2
df_corr = df.corr()
display(df_corr)

[実行結果]

相関関係のヒートマップ

相関関係の大小を視覚的に確認するためヒートマップで可視化します。

[Google Colaboratory]

1
2
3
4
5
6
import seaborn as sns

plt.figure(figsize=(15,10))
sns.heatmap(df_corr, annot=True)
plt.title("Corr Heatmap")
plt.show()

[実行結果]

相関係数は-1~1の範囲の値をとります。

相関係数では次のような関係を意味します。

  • 正の相関
    一方が上がればもう一方も上がる関係
  • 負の相関
    一方が上がればもう一方が下がる関係
  • 相関係数の絶対値
    絶対値が大きいほど、相関関係が強い

ヒートマップから、目的変数であるMEDVと特に相関の強い変数はRM(0.7)LSTAT(-0.74)であることが分かります。

次回の単回帰分析では、データのばらつきが小さく、MEDVとの相関が強いRMを説明変数としてモデルを構築していきます。