本記事ではPythonでペアプロットを作成する方法を紹介します。
Pythonでペアプロットを作成するにはSeabornというライブラリを使用します。
ペアプロットとは
ペアプロットとは、特徴量同士の散布図と特徴量のヒストグラムを並べたものです。
対角線上にヒストグラム、そのほかの個所には散布図がおかれています。

ヒストグラムを見ることで特徴量の分布が、散布図を見ることで特徴量同士の関係がわかります。
ペアプロットの実装
事前準備
それではペアプロットを実装してゆきます。
まず、事前準備としてPandasとSeabornをインストールします。
pip install pandas seaborn
なお、Google Colaboratoryには既にPandasとSeabornはインストール済みです。
実装
今回は、アイリスデータをペアプロット図化してみましょう。
# ①アイリスデータセットの準備
from sklearn.datasets import load_iris
iris = load_iris(as_frame=True)
# ②ペアプロット図の作成
import seaborn as sns
sns.pairplot(iris.data)
上記のコードについて解説してゆきます。
- ①アイリスデータセットの準備
from sklearn.datasets import load_iris
でアイリスデータ取得関数を使用できるようにし、load_iris()
でデータを取得します。
引数にas_frame=True
を入力することでデータをDataFrame
の形で取得できます。as_frame=False
とするとデータをnumpy.array
で取得できます。
デフォルトはas_frame=False
です。特徴量は下記のとおりです。
sepal length (cm) がく片の長さ(cm) sepal width (cm) がく片の幅(cm) petal length (cm) 花びらの長さ(cm) petal width (cm) 花びらの幅(cm) 目的変数は0,1,2の三値です。0,1,2は下記の花の種類を示します。
0 セトーサ 1 ヴァーシカラー 2 ヴァージニカ - ②ペアプロット図の作成
import seaborn as sns
でSeabornライブラリをインポートします。
そして、sns.pairplot(iris.data)
でペアプロット図を出力します。
先程のコードを実行するとペアプロット図が出力されます。

色付き
さらに目的変数によってペアプロット図の色を変えて出力してみましょう。
# ①アイリスデータセットの準備
from sklearn.datasets import load_iris
iris = load_iris(as_frame=True)
# ②目的変数をデータフレームに代入する
df = iris.data
df['target'] = iris.target
# ③ペアプロット図の作成(色付き)
import seaborn as sns
sns.pairplot(df, hue = 'target')
上記のコードについて解説してゆきます。
- ①アイリスデータセットの準備
先程と同様です。
- ②目的変数をデータフレームに代入する
df = iris.data
で特徴量を取り出しております。
そして、df['target'] = iris.target
で目的変数をデータフレームに格納しております。 - ③ペアプロット図の作成
import seaborn as sns
でSeabornライブラリをインポートします。sns.pairplot(df, hue = 'target')
でペアプロット図を出力します。hue='target'
を指定することで目的変数によって色分けされてペアプロット図が出力されます。
先程のコードを実行するとペアプロット図が出力されます。

個のペアプロット図によると、花びらの長さ(petal length)や花びらの幅(petal width)によって花の種類を区別できることがわかります。
