【Python】Seabornで散布図行列を表示する方法を紹介!

こんにちは!

皆さんは、Pythonで散布図行列表示したいと思ったことはありませんか?

Python初心者
散布図行列を使ったら一度に色々な散布図が見れるね!

散布図行列を使うと、一度に複数の対の散布図を確認することができ、データの特徴をつかむのに役立ちます。

Pythonで散布図行列を作成するには、Seabornライブラリの「pairplot()」を使えば簡単に表示することができます。

Seabornライブラリのインストールが終わっていない方は、インストールしておきましょう。

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

  • pairplot()の基本的な使い方
  • pairplot()の様々なオプション

散布図行列を表示する pairplot()

散布図行列を表示するには「pairplot()」を使います。

pairplot()の基本的な使い方

pairplot()の基本的な書式は以下になります。

seaborn.pairplot(data)

以下のプログラムは、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)
df['species'] = iris.target_names[iris.target]

sns.pairplot(df)

plt.tight_layout()
plt.show()

様々なオプション

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

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

オプション 説明 デフォルト値
hue カテゴリデータごとに色分け
vars, x_vars, y_vars 出力する行、列を指定
diag_kind 対角上のプロットの種類の選択 auto
height グラフのサイズを指定

hue

「hue」にカテゴリデータが格納された列名を指定することで、カテゴリ名ごとに色分けすることができます。

sns.pairplot(df, hue='species')

vars, x_vars, y_vars

vars, x_vars, y_vars」を指定することで、グラフに出力する行、列を指定できます。

行と列両方同じカテゴリ名を指定する場合にはvars、
行と列で違いカテゴリ名を指定する場合にはx_vars、y_varsを使用します。

sns.pairplot(df, vars=['sepal length (cm)', 'petal length (cm)'])
sns.pairplot(df, x_vars=['sepal length (cm)', 'petal length (cm)'], y_vars=['sepal width (cm)', 'petal width (cm)'])

diag_kind

「diag_kind」に指定する値を変更すると、対角上のプロットの種類を変更することができます。

histでヒストグラムを、
kdeでカーネル密度推定のグラフを出力します

デフォルト値はautoでautoの場合は、hueを指定しているかどうかでヒストグラムとカーネル密度推定のどちらを出力するかが変化します。

hueを指定していない場合には、ヒストグラムを、
hueを指定している場合には、カーネル密度推定を出力します。

sns.pairplot(df, diag_kind= 'kde')

height

「height」で出力するグラフのサイズを指定します。単位はインチです。

sns.pairplot(df, height=1.5)

まとめ

今回の記事では、以下の内容を紹介しました。

  • pairplot()の基本的な使い方
    →データを指定
     すべてのカテゴリデータを使った散布図行列を出力
  • pairplot()の様々なオプション
    →色分けが簡単にできるetc…
Python初心者
簡単に散布図行列って描けるんだね!

散布図行列を出力する方法をしっかりと覚えて、データの特徴をつかむのに役立てましょう!