Seabornで相関行列の可視化|データの可視化

Python




Seabornで相関行列の可視化

import numpy as np
import pandas as pd
import matplotlib.pyplot as pat
import seaborn as sns

%matplotlib inline
#ファイルの読み込み
X = pd.pd.read_csv('ファイル名')

#相関係数行列を求める
corrmat = X.corr()

#seabornで可視化する
f, ax = plt.subplots(figsize=(20, 9))
sns.heatmap(corrmat, vmax=.8, annot=True);

出力結果

出力は、下のようになります。
相関関係が見やすく、自動的にグラフ化してくれます。

相関が高いものを抽出

target(被説明変数)との相関係数が大きいものを抽出します。

threshold(閾値)を設定して、それ以上のindexを抽出します。

相関係数が大きいと、その変数間で関連性が高いが予想できます。

threshold = 0.5
corrmat = train.corr()

top_corr_features = corrmat.index[abs(corrmat["target"]) > threshold]

sns.heatmap(X[top_corr_features].corr(),annot=True)

参考

[amazonjs asin=”4295003379″ locale=”JP” title=”第2版Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)”]
[amazonjs asin=”4873117984″ locale=”JP” title=”Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎”]

タイトルとURLをコピーしました