【Python】Seabornでヒートマップを表示する方法を紹介!

こんにちは!

皆さんは、Pythonでヒートマップを表示したいと思ったことはありませんか?

Python初心者
ヒートマップを使ったら視覚的にどの辺が高いか低いかがわかってわかりやすいよね!

ヒートマップを使うと、強弱が色で表現されるため、数値よりも直感的に理解することができるようになります。

Pythonでヒートマップを表示するには、Seabornライブラリの「heatmap()」を使えば簡単に表示することができます

今回の記事では、以下の内容について紹介します。

  • Seabornライブラリとは
  • ヒートマップの表示方法

Seabornライブラリ

Seabornライブラリとは

SeabornはPythonのグラフ描画ライブラリとして有名なライブラリの1つです。

グラフ描写ライブラリで1番有名なMatplotlibをベースとして、Matplotlibよりも美しいグラフを描写するために作られたライブラリです。

seabornライブラリのインストール方法

pipでseabornライブラリをインストールするには以下のコマンドを入力しましょう。

pip install seaborn

anacondaを使用している方は以下のコマンドを入力しましょう。

conda install seaboard

seabornは以下のライブラリに依存するので、以下のライブラリでインストールしていないライブラリはインストールしておきましょう。

pip install numpy
pip install scipy
pip install matplotlib
pip install pandas

ヒートマップを表示する heatmap()

ヒートマップを表示するには「heatmap()」を使います。

seaborn.heatmap(data)

様々なオプション

よく使われるオプションを紹介します

すべてのオプションが気になる方は、公式ドキュメントを参照してください。

オプション 説明 デフォルト値
annot Trueでセルに値を表示 None
fmt フォーマットを指定 2g
cbar Trueでカラーバーを表示 True
square Trueで正方形化して表示 False
xticklabels, yticklabels x軸y軸のラベルを指定 True

ヒートマップを表示するプログラム

それではヒートマップを表示してみましょう。

今回表示するヒートマップは、機械学習でよく使われる相関係数のヒートマップです。

各カラム同士の相関係数を計算し、その結果をヒートマップで表示し、視覚的にわかりやすくします。

以下のプログラムは、irisデータセットの各カラムの相関係数のヒートマップを表示するプログラムです。

from sklearn.datasets import load_iris
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)

cm = np.corrcoef(df.values.T)
hm = sns.heatmap(cm, annot=True, fmt='.2f', cbar=True, square=True, xticklabels=df.columns, yticklabels=df.columns)

plt.tight_layout()
plt.show()

解説

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
irisデータセットを読み込んでデータフレーム形式に変換します。
cm = np.corrcoef(df.values.T)
hm = sns.heatmap(cm, annot=True, fmt=’.2f’, cbar=True, square=True, xticklabels=df.columns, yticklabels=df.columns)
相関係数を計算し、その結果をもとにヒートマップを作成します。
plt.tight_layout()
plt.show()
整形して表示します。

実行結果

単に数字だけを見るよりも、このようにヒートマップで表示した方が、視覚的にわかりやすいですね。

まとめ

今回の記事では、以下の内容について紹介しました。

  • seabornライブラリとは
    →Pythonのグラフ描画ライブラリの一つ
  • ヒートマップの表示方法
    →「heatmap()」を使用
Python初心者
これでヒートマップが描けるようになったね!

ヒートマップで、視覚的にわかりやすく表示できるようにしましょう!