こんにちは!
皆さんは、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()」を使います。
様々なオプション
よく使われるオプションを紹介します
すべてのオプションが気になる方は、公式ドキュメントを参照してください。
オプション | 説明 | デフォルト値 |
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()
解説
df = pd.DataFrame(iris.data, columns=iris.feature_names)
hm = sns.heatmap(cm, annot=True, fmt=’.2f’, cbar=True, square=True, xticklabels=df.columns, yticklabels=df.columns)
plt.show()
実行結果
単に数字だけを見るよりも、このようにヒートマップで表示した方が、視覚的にわかりやすいですね。
まとめ
今回の記事では、以下の内容について紹介しました。
- seabornライブラリとは
→Pythonのグラフ描画ライブラリの一つ - ヒートマップの表示方法
→「heatmap()」を使用
ヒートマップで、視覚的にわかりやすく表示できるようにしましょう!