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"})
あとは適宜ドキュメントを見ながら追加したり、不要なものは消せばOKです。
seaborn.pairplot — seaborn 0.13.2 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")
データセットの準備部分
今回使用したライブラリの読み込みとデータセットの準備部分です。
# データセットの準備部分
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