データサイエンス-統計相関行列


相関行列

行列は、行と列に配置された数値の配列です。

相関行列は、変数間の相関係数を示す単なる表です。

ここで、変数は最初の行と最初の列に表されています。

相関行列

上記の表は、完全な健康データセットのデータを使用しています。

観察:

  • 期間とCalorie_Burnageは密接に関連しており、相関係数は0.89であることがわかります。これは、トレーニングが長ければ長いほど、より多くのカロリーを消費するので理にかなっています。
  • Average_PulseとCalorie_Burnageの間に線形関係がほとんどないことがわかります(相関係数0.02)
  • Average_PulseはCalorie_Burnageに影響を与えないと結論付けることができますか?いいえ。後でこの質問に答えるために戻ってきます。

Pythonの相関行列

Pythonの関数を使用corr()して、相関行列を作成できます。また、この関数を使用してround()、出力を小数点以下2桁に丸めます。

Corr_Matrix = round(full_health_data.corr(),2)
print(Corr_Matrix)

出力:

相関行列

ヒートマップの使用

ヒートマップを使用して、変数間の相関関係を視覚化できます。

相関ヒートマップ

相関係数が1に近いほど、正方形は緑になります。

相関係数が-1に近いほど、正方形は茶色になります。


Seabornを使用してヒートマップを作成する

Seabornライブラリを使用して相関ヒートマップを作成できます(Seabornはmatplotlibに基づく視覚化ライブラリです)。

import matplotlib.pyplot as plt
import seaborn as sns

correlation_full_health = full_health_data.corr()

axis_corr = sns.heatmap(
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50, 500, n=500),
square=True
)

plt.show()

説明された例:

  • ライブラリseabornをsnsとしてインポートします。
  • full_health_dataセットを使用します。
  • sns.heatmap()を使用して、ヒートマップで相関行列を視覚化する必要があることをPythonに通知します。
  • 相関行列を使用します。ヒートマップの最大値と最小値を定義します。0が中心であることを定義します。
  • sns.diverging_paletteで色を定義します。n = 500は、同じカラーパレットに500種類の色が必要であることを意味します。
  • square = Trueは、正方形を見たいことを意味します。