Pynote

Python、機械学習、画像処理について

seaborn - pairplot() で散布図行列を作成する

散布図行列

複数の変数がある場合に、任意の2変数同士の散布図を作成し、それを行列の形式に並べたもの。
複数の変数の相関関係を視覚的に捉えることができる。

基本的な使い方

import seaborn as sns
sns.set(style='ticks', color_codes=True)

iris = sns.load_dataset('iris')
sns.pairplot(iris)


指定したカテゴリ変数で色分けする。

iris = sns.load_dataset('iris')
sns.pairplot(iris, hue='species')


カラーマップを指定する。

iris = sns.load_dataset('iris')
sns.pairplot(iris, hue='species', palette='husl')


点のスタイルを指定する。

sns.pairplot(iris, hue='species', markers=['o', 's', 'D'])


変数を指定する。

デフォルトでは2変数のすべての組み合わせについて散布図行列が作成されるが、作成に使用する変数を明示的に指定することもできる。

変数を指定する。

sns.pairplot(iris, vars=['sepal_width', 'sepal_length'])

行及び列方向の変数をそれぞれ指定する。

sns.pairplot(iris,
             x_vars=["sepal_width", "sepal_length"],
             y_vars=["petal_width", "petal_length"])


各 Axes の高さを指定する。(inch)

sns.pairplot(iris, height=3, vars=['sepal_width', 'sepal_length'])


対角線上に表示する Axes の種類を変更する。

推定した密度関数を描画する。

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


対角線以外に表示する Axes の種類を変更する。

回帰直線を描画する。

sns.pairplot(iris, kind='reg')