Pandas とシーボーンを使用した KDE プロットの可視化

Samreena Aslam 2023年1月30日
  1. Python で通常の KDE プロットと Seaborn を使用したデータの視覚化
  2. Python で Pandas と Seaborn を使用した 1 次元 KDE プロット
  3. Python で Pandas と Seaborn を使用した 2 次元または 2 変量 KDE プロット
  4. まとめ
Pandas とシーボーンを使用した KDE プロットの可視化

KDE はカーネル密度推定であり、連続データ変数とノンパラメトリックデータ変数の確率密度を視覚化するために使用されます。複数の分布を視覚化したい場合、KDE 関数は、より解釈しやすい、雑然としたプロットを生成します。

KDE を使用すると、単一のグラフプロットを使用して複数のデータサンプルを視覚化できます。これは、データの視覚化においてより効率的な方法です。

Seabornmatplotlib のような Python ライブラリです。Seaborn は、データ表現のために pandas および numpy と統合できます。

データサイエンティストは、このライブラリを使用して、有益で美しい統計チャートやグラフを作成します。これらのプレゼンテーションを使用すると、さまざまなモジュール内の明確な概念と情報の流れを理解できます。

KDE 関数、Seaborn、および Pandas を使用して、単変量グラフと二変量グラフをプロットできます。

Pandas とシーボーンを使用した KDE プロットの視覚化について学習します。この記事では、mtcars データセットのいくつかのサンプルを使用して、KDE プロットの視覚化を示します。

詳細を始める前に、pip コマンドを使用して seaborn および sklearn ライブラリをインストールまたは追加する必要があります。

pip install seaborn
pip install sklearn

Python で通常の KDE プロットと Seaborn を使用したデータの視覚化

Seaborn ライブラリで通常の KDE プロット関数を使用してデータをプロットできます。

次の例では、ランダムライブラリを使用して 1000 個のデータサンプルを作成し、それらを numpy の配列に配置しました。これは、Seaborn ライブラリが numpy と Pandas dataframes でのみ適切に機能するためです。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)
# KDE Plot with seaborn
res = sn.kdeplot(data, color="red", shade="True")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

上記のデータサンプルを垂直方向に視覚化することも、KDE および Seaborn ライブラリを使用して上記のプロットを元に戻すこともできます。プロットプロパティ vertical=True を使用して、上記のプロットを元に戻しました。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)
# KDE Plot with seaborn
res = sn.kdeplot(data, color="green", vertical=True, shade="True")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

Python で Pandas と Seaborn を使用した 1 次元 KDE プロット

KDE プロットを使用して、単一のターゲットまたは連続属性の確率分布を視覚化できます。次の例では、mtcars データセットの CSV ファイルを読み取りました。

データセットには 350 を超えるエントリがあり、x 軸に沿った単変量分布を視覚化します。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# read CSV file of dataset using pandas
dataset = pd.read_csv(r"C:\\Users\\DELL\\OneDrive\\Desktop\\samplecardataset.csv")
# kde plot using seaborn
sn.kdeplot(data=dataset, x="hp", shade=True, color="red")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

y 軸に沿ってデータ変数を視覚化することにより、プロットを反転することもできます。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Read CSV file using pandas
dataset = pd.read_csv(r"C:\\Users\\DELL\\OneDrive\\Desktop\\samplecardataset.csv")
# KDE plotting using seaborn
sn.kdeplot(data=dataset, y="hp", shade=True, color="red")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

1つのプロットで複数のターゲット値の確率分布を視覚化できます。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Read CSV file using pandas
dataset = pd.read_csv(r"C:\\Users\\DELL\\OneDrive\\Desktop\\samplecardataset.csv")
# KDE plotting using seaborn
sn.kdeplot(data=dataset, x="hp", shade=True, color="red")
sn.kdeplot(data=dataset, x="mpg", shade=True, color="green")
sn.kdeplot(data=dataset, x="disp", shade=True, color="blue")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

Python で Pandas と Seaborn を使用した 2 次元または 2 変量 KDE プロット

seaborn および pandas ライブラリを使用して、2 次元または 2 変量の KDE プロットでデータを視覚化できます。

このようにして、複数の連続属性に対する特定のサンプルの確率分布を視覚化できます。x 軸と y 軸に沿ってデータを視覚化しました。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Read CSV file using pandas
dataset = pd.read_csv(r"C:\\Users\\DELL\\OneDrive\\Desktop\\samplecardataset.csv")
# KDE plotting using seaborn
sn.kdeplot(data=dataset, shade=True, x="hp", y="mpg")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

同様に、単一の KDE プロットを使用して、複数のサンプルの確率分布をプロットできます。

サンプルコード:

import seaborn as sn
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# Read CSV file using pandas
dataset = pd.read_csv(r"C:\\Users\\DELL\\OneDrive\\Desktop\\samplecardataset.csv")
# KDE plotting using seaborn
sn.kdeplot(data=dataset, shade=True, x="hp", y="mpg", cmap="Blues")
sn.kdeplot(data=dataset, shade=True, x="hp", y="cyl", cmap="Greens")
plt.show()

出力:

Pandas とシーボーンを使用した KDE プロットの視覚化-シーボーンを使用した KDE プロット

まとめ

このチュートリアルでは、Pandas と Seaborn ライブラリを使用した KDE プロットの視覚化を使用してデモンストレーションを行いました。1 次元 KDE プロットで単一および複数のサンプルの確率分布を視覚化する方法を見てきました。

Seaborn と Pandas で KDE プロットを使用して、2 次元データを視覚化する方法について説明しました。

関連記事 - Pandas DataFrame