この記事では、Pearson CorrelationのPython実装を案内します。
2つ以上の特徴量が、一方の特徴量の値が増減すると、他方の特徴量の値も同様に増減するような関係で結ばれている場合。
これが「相関」という言葉の意味です。
相関関係入門
変数間の関連性を見つけることが相関のすべてです。
データサイエンスでは、相関を利用して、互いに有利に関連する特徴と不利に関連する特徴を発見し、最適な特徴を使って機械学習モデルを学習させることができる。
相関の程度は-1〜1の範囲です。
- 特徴量間の相関が1の場合、特徴量は互いに正の相関がある。
- 特徴量間の相関が-1の場合、特徴量同士が負の相関を持つ。
-
- 特徴間の相関がゼロの場合、特徴間の関連はないと判断してよい。
ピアソン相関の紹介
ピアソン相関は、2つ以上の特徴量の間の線形関係の強さを決定するための統計的アプローチです。
ピアソン相関の代表的な例として、需要と供給がある。
例えば、ある製品の需要が伸びるとその製品の供給が増え、その製品の需要が減るとその製品の供給が減ります。
製品の需要と供給の間には正の相関がある。
Pearson Correlation の公式
1
2
|
import pandas as pd
movies = pd.read_csv( "MoviesOnStreamingPlatforms_updated.csv" )
|
Python による Pearson Correlation の実装
相関を観察するためには、以下のようないくつかのステップを踏む必要があります。
ステップ1 – モジュールのインポートとデータセットのロード
どんなプログラムでも、最初のステップは必要なモジュールをロードすることです(必要な場合)。
このプログラムでは、pandas
モジュールをインポートする必要があります。
後で、 read_csv
関数を使ってデータセットをロードします。
データセットはここで見つけることができます。
movies[ 'Rotten Tomatoes' ] = movies[ "Rotten Tomatoes" ]. str .replace( "%" , "").astype( float )
movies.drop( "Type" , inplace = True , axis = 1 )
correlations = movies.corr(method = 'pearson' )
|
ステップ2 – 全特徴間の相関を求める
特徴量間のピアソン相関を求めるために、corr
関数を使用して method
に pearson
を渡します。
1
2
3
4
|
import seaborn as sns
import matplotlib.pyplot as plt
sns.heatmap(correlations) plt.show() |
ステップ3 – 相関関係を可視化する
相関を視覚化するために、 seaborn
プロットを使用し、 seaborn
と matplotlib
モジュールをインポートします。
最後に、heatmap
関数を使用して、前のステップで作成した相関を渡します。
Pearson Correlation とその Python 実装に関するこのチュートリアルを楽しんでいただけたら幸いです。
- Pythonでヒートマップ – Pythonでヒートマップを作成する方法は?
- PythonでCars.csvファイルを分析する – 完全ガイド
- Pythonで相関行列を作成する – 実践編