Skip to content

8. 複数変数の可視化(ペアプロット・ヒートマップ)

複数の変数を同時に可視化することで、データの関係性を深く理解する手助けをします。Seaborn は、複数変数の可視化に便利な機能を多く持っており、その中でも代表的な「ペアプロット」と「ヒートマップ」について学びましょう。

8.1 ペアプロット

ペアプロットは、データセット内の数値変数のペアごとに散布図を作成し、同じ変数の場合はその分布を対角線上に表示します。これにより、変数間の相関関係を視覚的に認識しやすくなります。

8.1.1 ペアプロットの基本的な使い方

以下にペアプロットの基本的なコード例を示します。サンプルデータセットとして Seaborn に含まれているirisを使用します。

import seaborn as sns
import matplotlib.pyplot as plt

# Irisデータセットをロード
iris = sns.load_dataset('iris')

# ペアプロットを作成
sns.pairplot(iris)

# グラフを表示
plt.show()

8.1.2 グループ化されたペアプロット

データを特定のカテゴリでグループ化したペアプロットも作成できます。たとえば、irisデータセットのspeciesでグループ化して色分けを行いましょう。

# グループ化されたペアプロットを作成
sns.pairplot(iris, hue='species')

# グラフを表示
plt.show()

8.2 ヒートマップ

ヒートマップは、データの相関関係や行列形式でのデータを色で表現する方法です。特に、相関行列を視覚化するのに有用です。

8.2.1 ヒートマップの基本的な使い方

irisデータセットの相関行列をヒートマップで表示するコード例を示します。

import numpy as np

# 相関行列を計算
corr = iris.corr()

# ヒートマップを作成
sns.heatmap(corr, annot=True, cmap='coolwarm')

# グラフを表示
plt.show()

8.2.2 カスタマイズ可能なヒートマップ

ヒートマップはカラーマップやアノテーションなど、さまざまなカスタマイズが可能です。以下にいくつかのオプションを追加した例を示します。

# ヒートマップをカスタマイズして作成
sns.heatmap(corr, annot=True, cmap='YlGnBu', linewidths=.5, cbar_kws={"shrink": .8})

# グラフを表示
plt.show()

以上が、ペアプロットとヒートマップを使った複数変数の可視化の基本です。これらのテクニックを使って、データ内の複雑な関係性を直感的に把握することができます。プログラミングの練習を通して、実際にデータ可視化を行ってみてください。