PythonのSeabornでpairplotを使って多変量データを視覚化する方法
Seabornは、データの視覚化を支援するPythonのライブラリです。カスタマイズされたテーマと高水準なインターフェースが備わっており、美しいグラフを少ないコード量で作成できるのが特徴です。
実際のデータ分析では、データセットに多数の変数(特徴量)が含まれていることが一般的です。そのような場合、すべての変数同士の関係を1つずつ分析しようとすると、二変量分布のプロットを繰り返すことになり、時間がかかるうえにコードも複雑になってしまいます。
pairplot関数とは
そこで役立つのが「複数のペアごとの二変量分布」を一度に可視化する手法です。Seabornのpairplot関数を使えば、データフレーム内の変数の組み合わせ同士の関係をまとめて描画できます。対角線上には各変数の単変量(ユニバリアント)プロットが表示され、非対角部分には変数同士の散布図が並びます。これにより、データ全体の相関構造を一目で把握できます。
pairplot関数の構文
seaborn.pairplot(data, …)
第一引数には対象となるデータフレームを指定し、以降の引数で色分けやプロットの種類などを細かくカスタマイズできます。
実装例:irisデータセットの可視化
それでは、実際にグラフを描画する手順を見ていきましょう。以下の例では、有名なiris(アヤメ)データセットを使用します。
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
my_df = sb.load_dataset('iris')
sb.set_style("ticks")
sb.pairplot(my_df, hue='species', diag_kind="kde", kind="scatter", palette="husl")
plt.show()コードの解説
- まず、必要なパッケージ(pandas、seaborn、matplotlib)をインポートします。
- load_dataset関数を使って、Seabornに組み込まれているirisデータセットを読み込みます。
- 読み込んだデータはデータフレームとして変数my_dfに格納されます。
- set_style("ticks")で、目盛り付きのスタイルをグラフに適用しています。
- pairplot関数にデータフレームを渡し、データを可視化します。
主なパラメータの説明
- hue='species':species(アヤメの種類)ごとに点を色分けして表示します。カテゴリ変数による違いを直感的に確認できます。
- diag_kind="kde":対角線上のプロットをカーネル密度推定(KDE)として描画するよう指定します。ヒストグラムよりも滑らかな分布形状が得られます。
- kind="scatter":非対角部分のプロット形式を散布図に指定します。
- palette="husl":HUSLカラーパレットを適用し、見やすく鮮やかな配色にします。
最後にplt.show()を実行することで、作成したグラフが画面に表示されます。この一連のコードにより、4つの特徴量(がく片の長さ・幅、花びらの長さ・幅)の組み合わせすべての関係を、種類ごとの色分け付きで一括確認できます。
まとめ
pairplot関数を使えば、多変量データの変数間の関係性を短いコードで効率的に可視化できます。探索的データ分析(EDA)の初期段階で相関や分布の傾向をつかむ際に非常に有用なツールなので、ぜひ活用してみてください。
-
PythonのSeabornライブラリでヒストグラムを表示する方法をわかりやすく解説
データ可視化の重要性 データ分析において、可視化は非常に重要なステップです。生の数値を一つずつ確認したり、複雑な計算を実行したりしなくても、グラフを見るだけでデータ全体の傾向や分布を直感的に把握できます。さらに、分析で得られた定量的な知見を、聴衆やチームメンバーに対して効果的に伝える手段としても活用できます。 Seabornとは Seabornは、Pythonでデータ可視化を行うためのライブラリの一つです。Matplotlibをベースにしており、洗練されたカスタムテーマと高水準なインターフェースを備えているのが特徴です。少ないコード量で美しい統計グラフを作成できるため、データサイエンスの分野
-
PythonとSeabornを使って散布図を表示する方法をわかりやすく解説
データ分析において可視化(ビジュアライゼーション)は非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データに何が起きているのかを直感的に把握できるからです。その可視化を手軽に実現できるライブラリの一つが、Pythonの「Seaborn」です。 散布図(scatter plot)とは、データポイントをグラフ上に点として散りばめて分布を表現するグラフのことです。数値データの値をドットで表し、横軸・縦軸上の各ドットの位置が、それぞれのデータポイントの値を示します。散布図を使うことで、2つの変数間の関係性(相関)を視覚的に理解することができます。 ここでは、Sea