Chapter 06

Seabornでペアプロットを作る

mimitako
mimitako
2022.10.09に更新

ペアプロットとは

ペアプロットとは各データを列ごとに散布図とヒストグラムで一括して描写する機能のことです。ぶっちゃけ散布図やヒストグラムをひとつひとつ丁寧に見なくても良いのでは?とも思ってしまいます。

便利なグラフですので、使い方を覚えておいて損はないでしょう。今回もIrisのデータセットでペアプロットを見てみます。

ペアプロットの描写

何はともあれ見てみましょう。

モジュールのインポート

使い始める前にいくつかのモジュールをインポートしておきます。

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

データセットのインポート

今回使用するデータは iris(あやめ)のデータセットです。

iris_data = sns.load_dataset("iris")

データ構造は次の通りです。

sepal length はがくの長さ、sepal width はがくの幅、petal length は花びらの長さ、petal width は花びらの幅です。species は iris ことあやめの種類を示しています。

Pairplotを表示する

前章までとは異なり、Pairplotは高レベルのインターフェイスであり、いつも宣言しているfig,....subplots()は不要です。出力はseaborn.axisgrid.PairGrid というTypeになりますので、そのまま取り扱います。

fig = sns.pairplot(
  data = iris_data
)

たったこれだけで、グラフが得られます。

なにか相関がありそう、クラス分けできそうなどがひと目でわかりますね。

Pairplotをhueで分ける

更にhueを設定することで、情報量を増やすことができます。今回はカテゴリデータの花の種別をhueに設定して実行しました。

fig = sns.pairplot(
  data = iris_data,
  hue = "species"
)

クラス分けが簡単にできそうですね。

こういうデータを見て、取捨選択をすれば効率的に実行できそうです。ただし、冒頭で記載した通り、大きなデータは計算量も膨大になりますので注意が必要です。