##はじめに
変数が多くなると,相関係数表は見づらくなりますね.
そこで今回はSeabornのHeatmapを用いて可視化していきます.
タイタニックのデータを使っていて、一部加工してあります。
Heat map
実装
import seaborn as sns sns.heatmap(可視化したいデータ, 引数)
大雑把にはこんな感じです。
import seaborn as sns
cor = train_df[[ 'Age','Sex', 'Family','Pclass','Embarked','Survived', 'Fare']].corr()
sns.heatmap(cor, cmap= sns.color_palette('coolwarm', 10), annot=True,fmt='.2f', vmin = -1, vmax = 1)
だいぶ見やすくなりました!今回は引数にcmapとannot、fmtをとって、小数第2位までの相関係数を表示させました。
文字が切れているので、適宜サイズを調整してください。
良く使いそうな引数の紹介
- data: Pandasデータフレームの場合は行と列の名前が使われます.
- vmin, vmax: データの最大値と最小値を指定してくれます.
- cmap: 色の指定になります.10という数字は、10段階で色に段階をつけることを示しいています.今回は、相関係数を示したいので、Diverging Colormapから色を選びました.coolwarm以外には、bwr, seismicがあります.(ご指摘ありがとうございます!)matplotlibと色のコードは一緒です.以下のサイトに色とそれを示すコードが載ってます.cf. https://matplotlib.org/examples/color/colormaps_reference.html
- annot: Trueで数値を表示させます.指定しないとFalseとなり、値は表示されません.
その他の引数は参考サイトを参照してください.
参考サイト
・Seaborn でヒートマップを作成する
https://pythondatascience.plavox.info/seaborn/heatmap
間違ってる箇所等ありましたら、細かいことでも教えて頂けるとありがたいです!