Edited at

seaborn の heatmap で美しく可視化

More than 1 year has passed since last update.


Python の Seaborn で相関関係を美しく可視化


変数の Correlation を綺麗に

まずpandasやnumpy、seabornなどの必要なライブラリをimportし、今回使うよく知られたデータセットのiris をデータフレームで読み込む。

そして、このkeyのSepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCmの相関関係を seaborn の heatmap で可視化。


seaborn


# correlation between それぞれの変数
cr = ['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm','PetalWidthCm']
cr_matrix = iris[cr].corr()
heatmap = sns.heatmap(cr_matrix,cbar=True,annot=True,square=True,fmt='.2f',annot_kws={'size': 15},yticklabels=cr,xticklabels=cr,cmap='Accent')


これで相関図ができる。上記の相関図を見てみると PetalLengthCmとPetalWidthCmが高い相関関係にあることがわかる。

下記はheatmap内の変数の意味である。


heatmap 内の変数まとめ


  • cbar

    cbarは相関図の右にある数値の大小を示しやすくするために挿入できる棒のこと。Trueで挿入できる。


  • annot

    このannotをTrueにすることでひとつひとつの交わるboxのなかに数値を表示させることができる。


  • square

    squareをTrueにすると、ひとつひとつの枠が正方形になって見やすくなるのでおすすめ。


  • fmt

    枠の中の文字列に与えるルール。上記では .2f とし、少数第2点までを表示させている。


  • annot_kws

    annotがTrueの時の文字列の操作。


  • yticklabels

    y軸においての値。ここでは、correlation(相関)を見るので、x,yともにiris内のキーを入れる。


  • xticklabels

    同様にx軸においての値。


  • cmap

    matplotlibでも使われるカラーコードをseabornにおいても使うことができる。カラーコード一覧については下記のリンクを参照。今回は'Accent'のカラーコードを使用。


cmapを使う際はこの中から選んで参照する