原文:
www.kdnuggets.com/2023/05/exploring-data-distributions-histograms.html
图片来自 Bing 图像生成器
直方图是一种数据可视化工具,在数据科学和统计学中广泛用于探索数据的分布。要创建直方图,首先将感兴趣的特征值分组到区间中,然后统计每个区间内的数据条目总数,这些数值表示计数。直方图是数据值(自变量)和计数(因变量)的图示。通常,被绘制的特征表示水平轴,而计数表示垂直轴。
1. Google 网络安全证书 - 快速进入网络安全职业轨道。
2. Google 数据分析专业证书 - 提升您的数据分析技能
3. Google IT 支持专业证书 - 支持您的组织在 IT 方面
为了说明如何使用直方图探索数据分布,我们将使用 heights 数据集。该数据集包含男性和女性的身高数据。
# import necessary libraries
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# obtain dataset
df = pd.read_csv('https://raw.githubusercontent.com/bot13956/Bayes_theorem/master/heights.csv')
# display head of dataset
pd.head()
heights 数据集的头部信息显示了男性和女性的身高(以英寸为单位)。图片由作者提供。
我们可以使用以下代码绘制所有身高的分布。
sns.histplot(data = df, x="height")
plt.show()
直方图显示了数据集中所有身高的分布。图片由作者提供。
由于数据集是分类的,我们可以生成如下所示的男性和女性身高分布的直方图。
sns.histplot(data=df, x="height", hue="sex")
plt.show()
显示男性和女性身高分布的直方图。图片由作者提供。
我们可以绘制男性和女性身高的独立直方图,如下所示。
sns.histplot(data = df[df.sex=='Male']['height'], color='blue')
plt.show()
显示男性身高分布的直方图。图片由作者提供。
sns.histplot(data = df[df.sex=='Female']['height'], color='orange')
plt.show()
显示女性身高分布的直方图。图片由作者提供。
可以添加核密度估计(KDE)图以平滑直方图,并估计数据的概率分布。
sns.histplot(data = df, x = 'height', KDE = 'True')
plt.show()
带有 KDE 图的全部身高数据直方图。图片由作者提供。
sns.histplot(data=df, x="height", hue="sex", KDE = 'True')
plt.show()
带有核密度估计图的男性和女性身高分布直方图。图片由作者提供。
显然,我们从上图中可以观察到,身高数据是双峰的,分别对应男性和女性类别。
总结来说,我们回顾了使用直方图探索数据分布的方法。使用身高数据集,我们展示了为数据集中的每个类别生成直方图的重要性。我们还展示了如何使用核密度估计图(KDE)平滑直方图,以产生近似的连续分布曲线。
本杰明·O·泰约 是一位物理学家、数据科学教育者和作家,同时也是 DataScienceHub 的所有者。此前,本杰明曾在中央俄克拉荷马大学、大峡谷大学和匹兹堡州立大学教授工程学和物理学。