Seabornライブラリを使ってPythonでカーネル密度推定(KDE)を可視化する方法
データの可視化は、膨大な数値を一つずつ確認したり複雑な計算を実行したりすることなく、データ全体の傾向や特徴を直感的に把握するために非常に重要なステップです。SeabornはPythonのデータ可視化ライブラリの一つで、洗練されたカスタムテーマと高水準インターフェースを備えており、美しいグラフを簡単に作成できます。
カーネル密度推定(Kernel Density Estimation、略称KDE)とは、連続型確率変数の確率密度関数を推定するための手法です。この手法は、分布の形状を事前に仮定しないノンパラメトリックな値の解析によく用いられます。
Seabornの「distplot」関数を使用する際、引数「kde」をTrueに、「hist」をFalseに設定すると、ヒストグラムを非表示にしてKDEの曲線のみを描画できます。
それでは、Pythonでカーネル密度推定を可視化する具体的な手順を見ていきましょう。
コード例
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'], kde=True, hist=False)
plt.show()
出力結果

コードの解説
- まず、必要なパッケージ(pandas、seaborn、matplotlib)をインポートします。
- 「load_dataset」関数を使って、Seabornに組み込まれているiris(アヤメ)データセットを読み込みます。
- 読み込んだデータの「petal_length」(花弁の長さ)列を、「distplot」関数で可視化します。
- 引数「kde」をTrueに設定しているため、度数の棒グラフであるヒストグラムは描画されず、滑らかなカーネル密度曲線だけが表示されます。
- 最後に「plt.show()」を呼び出すことで、グラフが画面に出力されます。
補足: 引数の組み合わせを変えることで、表示内容を柔軟に切り替えられます。「kde=False、hist=True」にするとヒストグラムのみが表示され、両方をTrueにすればヒストグラムとKDE曲線を重ねて表示することも可能です。
新しいバージョンでの注意点
なお、Seaborn 0.11以降では「distplot」は非推奨(deprecated)となっており、将来のバージョンで削除される予定です。最新の環境では、代わりに「kdeplot」関数を使用するのがおすすめです。
sb.kdeplot(df['petal_length']) plt.show()
「kdeplot」はKDEの描画に特化した関数で、帯域幅(bw_adjust)の調整や複数グループの比較など、より細かい制御が可能になっています。
-
PythonのSeabornライブラリでヒストグラムを表示する方法をわかりやすく解説
データ可視化の重要性 データ分析において、可視化は非常に重要なステップです。生の数値を一つずつ確認したり、複雑な計算を実行したりしなくても、グラフを見るだけでデータ全体の傾向や分布を直感的に把握できます。さらに、分析で得られた定量的な知見を、聴衆やチームメンバーに対して効果的に伝える手段としても活用できます。 Seabornとは Seabornは、Pythonでデータ可視化を行うためのライブラリの一つです。Matplotlibをベースにしており、洗練されたカスタムテーマと高水準なインターフェースを備えているのが特徴です。少ないコード量で美しい統計グラフを作成できるため、データサイエンスの分野
-
PythonとSeabornを使って散布図を表示する方法をわかりやすく解説
データ分析において可視化(ビジュアライゼーション)は非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データに何が起きているのかを直感的に把握できるからです。その可視化を手軽に実現できるライブラリの一つが、Pythonの「Seaborn」です。 散布図(scatter plot)とは、データポイントをグラフ上に点として散りばめて分布を表現するグラフのことです。数値データの値をドットで表し、横軸・縦軸上の各ドットの位置が、それぞれのデータポイントの値を示します。散布図を使うことで、2つの変数間の関係性(相関)を視覚的に理解することができます。 ここでは、Sea