相関

Pythonで学ぶ探索的データ分析

Izzy Weber

Curriculum Manager, DataCamp

相関

  • 2変数間の関係の方向と強さを示す
  • 非数値列でのエラー防止に numeric_only=True を設定
divorce.corr(numeric_only=True)

                    income_man  income_woman  marriage_duration  num_kids  marriage_year 
 income_man         1.000       0.318         0.085              0.041     0.019         
 income_woman       0.318       1.000         0.079              -0.018    0.026         
 marriage_duration  0.085       0.079         1.000              0.447     -0.812        
 num_kids           0.041       -0.018        0.447              1.000     -0.461        
 marriage_year      0.019       0.026         -0.812             -0.461    1.000

ピアソンの相関係数を計算

Pythonで学ぶ探索的データ分析

相関ヒートマップ

sns.heatmap(divorce.corr(numeric_only=True), annot=True)
plt.show()

離婚データの相関ヒートマップ

Pythonで学ぶ探索的データ分析

文脈での相関

divorce["divorce_date"].min()
Timestamp('2000-01-08 00:00:00')
divorce["divorce_date"].max()
Timestamp('2015-11-03 00:00:00')
Pythonで学ぶ探索的データ分析

関係の可視化

低い線形相関でも強い関係

  • 強い関係だが線形ではない
  • ピアソンの相関係数: -6.48e-18

高い線形相関がある二次関係

  • 二次関係。線形ではない
  • ピアソンの相関係数: .971211
Pythonで学ぶ探索的データ分析

散布図

sns.scatterplot(data=divorce, x="income_man", y="income_woman")
plt.show()

離婚時の男女の収入の散布図

Pythonで学ぶ探索的データ分析

ペアプロット

sns.pairplot(data=divorce)
plt.show()

divorceデータフレームの数値列すべてのペアプロット

Pythonで学ぶ探索的データ分析

ペアプロット

sns.pairplot(data=divorce, vars=["income_man", "income_woman", "marriage_duration"])
plt.show()

配偶者の収入と婚姻期間のペアプロット

Pythonで学ぶ探索的データ分析

Passons à la pratique !

Pythonで学ぶ探索的データ分析

Preparing Video For Download...