探索性数据分析(EDA)–分步指南

探索性数据分析(EDA)–分步指南

探索性数据分析或EDA是任何数据分析或数据科学项目中的重要步骤。EDA是探索数据集以发现模式和异常(异常值)并基于我们对数据集的理解形成假设的过程。

EDA涉及为数据集中的数字数据生成汇总统计信息,并创建各种图形表示形式以更好地理解数据。在本文中,我们将借助示例数据集来理解EDA。为此,我们将使用Python语言(Pandas库)。

导入库

我们将从导入执行EDA所需的库开始。其中包括NumPy,Pandas,Matplotlib和Seaborn。

读取数据

现在,我们将数据从CSV文件读取到Pandas DataFrame中。

让我们看看使用df.head()时我们的数据集是什么样子的。输出应该是这样的:

描述性统计

它包含了一所学校/大学中不同学生的数据,以及他们在3个科目的成绩。可以很容易地通过查看数据集来判断,让我们从查看数据集的描述性统计参数开始。为此,我们将使用describe()。

通过为include属性分配值“ all”,我们确保分类特征也包括在结果中。输出DataFrame应该看起来像这样:

对于数值参数,已经填充了诸如平均值、标准偏差、百分位数和最大值等字段。对于分类特性,已经填充了count、unique、top(最常用值)和相应的频率。这让我们对数据集有了一个大致的了解。

缺少价值估算

现在,我们将检查数据集中是否缺少值。如果有任何缺失的条目,我们将使用适当的值(类别特征为模式,数字特征为中位数或平均值)来估算它们。为此,我们将使用isnull()函数。

这将告诉我们在数据集中的每一列中有多少缺失的值。输出(Pandas Series)应该是这样的:

幸运的是,在这个数据集中没有缺失值。现在,我们将继续分析这个数据集,观察模式,并在图表和图形的帮助下识别异常值。

图形化表示

我们将从单变量分析开始。我们将为此使用条形图。我们将研究学生在性别,种族/民族,午餐状态以及是否有应试课程方面的分布。

输出应如下所示:

我们可以从图中推断出很多东西。学校里的女孩比男孩多。大多数学生属于C和D组。超过60%的学生在学校享用标准午餐。此外,超过60%的学生没有参加任何考试准备课程。

继续单变量分析,接下来,我们将对数据集中的数字列(数学得分,阅读得分和写作得分)进行箱线图绘制。箱线图有助于我们根据四分位数来可视化数据。它还可以识别数据集中的异常值(如果有)。我们将为此使用boxplot()函数。

输出应如下所示:

中间部分代表四分位间距(IQR)。中间的水平绿线代表数据的中位数。尾部附近的空心圆表示数据集中的离群值。但是,由于学生很有可能在测试中得分极低,因此我们不会删除这些离群值。

现在,我们将绘制学生的数学成绩的分布图。分布图告诉我们数据如何分布。我们将使用distplot函数。

输出中的图应如下所示:

这幅图非常接近完美的钟形曲线。峰值在65分左右,也就是数据集中学生的数学平均分。阅读分数和写作分数也可以绘制类似的分布图。

现在我们将借助热图来看看这3个分数之间的相关性。为此,我们将使用corr()和heatmap()函数。

输出中的图应如下所示:

热图显示这3个得分高度相关。阅读分数与写作分数的相关系数为0.95。数学分数与阅读分数的相关系数为0.82,与写作分数的相关系数为0.80。

现在我们将转向双变量分析。我们将研究Seaborn中的关系图。它帮助我们理解数据集不同子集上的两个变量之间的关系。我们将尝试了解不同性别学生的数学成绩与写作成绩之间的关系。

关系图应如下所示:

该图显示了男性和女性学生在分数上的明显差异。对于相同的数学分数,女生比男生更有可能获得更高的写作分数。但是,对于相同的写作分数,预计男生的数学分数高于女生。

关系图有助于我们进行双变量分析。您可以在参考Seaborn中relplot()函数的文档。

最后,我们将根据父母的教育程度和考试准备课程来分析学生在数学,阅读和写作方面的表现。首先,让我们用线图看一下父母的教育水平对他们的孩子在学校的表现的影响。

输出将如下所示:

从该图中可以很清楚地看出,其父母比其他人(硕士,学士和副学士)受教育程度更高的学生的平均表现要好于父母受教育程度较低的学生(高中)。这可能是遗传差异,也可能只是学生在家环境的差异。受过良好教育的父母更有可能将他们的学生推向学习。

其次,让我们使用水平条形图查看考试准备课程对学生表现的影响。

输出应如下所示:

同样,很明显,与没有选择该课程的学生相比,已经完成考试准备课程的学生平均表现更好。

在本文中,我们通过示例数据集理解了探索性数据分析(EDA)的含义。我们研究了如何分析数据集,从中得出结论,并在此基础上形成假设。

作者:Vishesh Arora

免责声明:凡未注明来源或者来源为网络的信息均转自其它平台,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。网站只负责对文章进行整理、排版、编辑,不承担任何法律责任。若有侵权或异议请联系我们删除,谢谢。

发表评论

您的电子邮箱地址不会被公开。