6.4.2
散布図行列で多次元を俯瞰する
まとめ
- 散布図行列で多次元データの全ペアの関係と分布を一覧する。
sns.pairplotでクラス別に色分けし、分離度や外れ値を同時に確認する。- 分類モデル構築前の探索的データ分析で特徴量の有用性を見極めるのに使う。
seaborn.pairplot を使うと、特徴量の組み合わせごとの散布図と対角の分布をまとめて描画できます。クラス別に色分けすると、分類の分離度も同時に把握できます。
import seaborn as sns
import matplotlib.pyplot as plt
iris = sns.load_dataset("iris")
g = sns.pairplot(
iris,
vars=["sepal_length", "sepal_width", "petal_length", "petal_width"],
hue="species",
plot_kws={"alpha": 0.8, "s": 50},
diag_kind="hist",
corner=True,
)
g.fig.suptitle("Iris データの散布図行列", y=1.02)
plt.show()

使いどころ #
- 分類タスクでクラスタが綺麗に分かれているかを事前に確認する。
- モデル化前に外れ値や非線形な関係がないかチェックする。
corner=Trueにすると上三角のダブりを省けるため、大きな特徴量数でも見やすい。