seabornのpairplotを使う際によく利用する設定

pairplot often used

seabornのpairplot使用時によく利用する設定のメモ書きです。

最低限よく使う設定

個人的に使用頻度が高いものです。データセットの準備は後で記載しています。

# use_df: 目的変数(MEDV)も含むbostonデータセットのデータフレーム
# use_dfにはMEDVの第3四分位点より大きいかどうかを示す"more_than_q3"という系列が追加されている

use_cols = ["NOX", "AGE", "TAX","LSTAT","MEDV"]

sns.pairplot(data = use_df, vars=use_cols, hue="more_than_q3", diag_kind="kde",
                        plot_kws={"s":20, "alpha":0.8, "linewidth":0.2, "edgecolor":"white"})

pairplot often used

あとは適宜ドキュメントを見ながら追加したり、不要なものは消せばOKです。

seaborn.pairplot — seaborn 0.10.1 documentation

マーカーサイズの変え方はこちらで確認しました。
https://stackoverflow.com/questions/42181317/changing-the-size-of-seaborn-pairplot-markers

たまに使う時がある設定

x_vars, y_varsを引数に与えて、必要な情報をとる場合が時々あります。

sns.pairplot(data = use_df, x_vars=use_cols, y_vars=["MEDV"], hue="more_than_q3")

pairplot with limed columns

データセットの準備部分

今回使用したライブラリの読み込みとデータセットの準備部分です。

# データセットの準備部分
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
from sklearn.datasets import load_boston

data = load_boston()
X = data["data"]
y = data["target"]
feature_names = data["feature_names"]
boston_df = pd.DataFrame(data=X, columns=feature_names)

use_df = boston_df.copy()
use_df["MEDV"] = y

third_quartile = use_df["MEDV"].describe()["75%"]

use_df["more_than_q3"] = use_df["MEDV"] > third_quartile
use_df["more_than_q3"] = use_df["more_than_q3"].apply(int)

四分位点の導出にはpandas.Series.describe()を使用しています。

参考資料

https://seaborn.pydata.org/generated/seaborn.pairplot.html
https://stackoverflow.com/questions/32889590/seaborn-pairgrid-using-kdeplot-with-2-hues
https://stackoverflow.com/questions/42181317/changing-the-size-of-seaborn-pairplot-markers