用Pandas和Seaborn进行KDE绘图可视化
KDE图被描述为核心密度估计,用于可视化连续变量的概率密度。它描述了连续变量中不同数值的概率密度。我们也可以为多个样本绘制一个图形,这有助于更有效地进行数据可视化。
在这篇文章中,我们将使用Iris数据集和KDE Plot来可视化数据集的洞察力。
关于鸢尾花数据集 –
1.属性:花瓣长度(厘米),花瓣宽度(厘米),萼片长度(厘米),萼片宽度(厘米)
2.对象: 鸢尾花,鸢尾花,鸢尾花。
3.实例数量 : 150
一维KDE图:
我们可以将样本的概率分布与单一的连续属性进行可视化。
# importing the required libraries
from sklearn import datasets
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
# Setting up the Data Frame
iris = datasets.load_iris()
iris_df = pd.DataFrame(iris.data, columns=['Sepal_Length',
'Sepal_Width', 'Patal_Length', 'Petal_Width'])
iris_df['Target'] = iris.target
iris_df['Target'].replace([0], 'Iris_Setosa', inplace=True)
iris_df['Target'].replace([1], 'Iris_Vercicolor', inplace=True)
iris_df['Target'].replace([2], 'Iris_Virginica', inplace=True)
# Plotting the KDE Plot
sns.kdeplot(iris_df.loc[(iris_df['Target']=='Iris_Virginica'),
'Sepal_Length'], color='b', shade=True, Label='Iris_Virginica')
# Setting the X and Y Label
plt.xlabel('Sepal Length')
plt.ylabel('Probability Density')
输出:

我们还可以在一张图上直观地看到多个样本的概率分布。
# Plotting the KDE Plot
sns.kdeplot(iris_df.loc[(iris_df['Target']=='Iris_Setosa'),
'Sepal_Length'], color='r', shade=True, Label='Iris_Setosa')
sns.kdeplot(iris_df.loc[(iris_df['Target']=='Iris_Virginica'),
'Sepal_Length'], color='b', shade=True, Label='Iris_Virginica')
plt.xlabel('Sepal Length')
plt.ylabel('Probability Density')
输出:

二维KDE图谱 :
我们可以根据多个连续属性直观地看到样本的概率分布。
# Setting up the samples
iris_setosa = iris_df.query("Target=='Iris_Setosa'")
iris_virginica = iris_df.query("Target=='Iris_Virginica'")
# Plotting the KDE Plot
sns.kdeplot(iris_setosa['Sepal_Length'],
iris_setosa['Sepal_Width'],
color='r', shade=True, Label='Iris_Setosa',
cmap="Reds", shade_lowest=False)
输出:

我们还可以在一张图上直观地看到多个样本的概率分布。
# Plotting the KDE Plot
sns.kdeplot(iris_setosa['Sepal_Length'],
iris_setosa['Sepal_Width'],
color='r', shade=True, Label='Iris_Setosa',
cmap="Reds", shade_lowest=False)
sns.kdeplot(iris_virginica['Sepal_Length'],
iris_virginica['Sepal_Width'], color='b',
shade=True, Label='Iris_Virginica',
cmap="Blues", shade_lowest=False)
输出:

极客教程