探索性数据分析(EDA)入门指南

在人工智能的广阔领域中,可能听说过“探索性数据分析”(EDA)。那么,它究竟是什么?它是否重要?如果正在寻找这些问题的答案,那么来对地方了。让开始吧!此外,还将展示一个最近对数据集进行的EDA的实际例子,所以请继续关注!

什么是探索性数据分析EDA)?

探索性数据分析是进行初步数据调查的关键过程,通过摘要统计和图形表示来发现模式、发现异常、测试假设和检查假设。这听起来可能有很多术语,让简化一下!现在要说的可能听起来有些荒谬,但请耐心听说,EDA意味着了解数据。也就是说,熟悉将使用的数据集。通过图形等可视化数据来理解任何潜在的模式。这些图形包括条形图、散点图、饼图、箱线图等等!

EDA也意味着探索数据,换句话说,这意味着与可视化数据和理解数据相同,这样就可以构建出不错的机器学习模型(基于AI的应用)。此外,数据清洗也是EDA的一部分,这意味着在现实生活中得到的大多数数据集都非常无组织。它们有缺失值甚至错误的值。这需要修复,以便可以创建一个最佳的AI应用。

它是否必要?

毫无疑问,它是必要的!它是必不可少的——如果不先了解正在处理的数据就急于开始编写AI应用——可能会陷入巨大的混乱!信不信由——理解数据是与AI应用交流的语言。如果不理解它——它就没有用。

所以必须掌握数据,找到一些潜在的模式,发现一些异常,这样就知道面临的是什么,实际上,在考虑数据集结构的同时编写AI应用。

如何进行EDA?

好问题,但最终答案很简单。使用Python编程语言。R也可以完成这项工作,但Python在年轻从业者和专业人士中更常见!Python支持许多库,帮助处理数据集。例如——

Pandas用于查看数据集,并获取有关数据集的信息和描述。修复缺失值或错误值。特别是,它提供了用于操作数值表和时间序列数据的数据结构和操作。可以根据不同的数据(行和列)进行不同的计算,创建和删除行等等。

要可视化数据集,使用Python中的matplotlib库,它允许创建各种类型的图表——从基本的2D条形图到3D频谱图!它应有尽有,确实令人着迷!

实际案例!

现在,将向展示最近在Kaggle上获得的数据集上进行的EDA的实际案例。让开始编码吧🚀

注意:所有代码都可以在GitHub上找到。可以从那里访问它,给它一个星标,下载它,并尽可能多地进行实验。

首先,当要进行EDA时,需要下载将使用的数据集,也是这样做的,如下所示:在这里,使用了一个链接来下载数据集,这是项目仓库在GitHub上的链接。这节省了时间,也方便其他人下载。在进行这样的项目时,代码将被别人阅读——使代码易于阅读和理解至关重要。

下载数据集后,可以通过Pandas库以表格形式查看数据集,如下所示:这里是一个片段,显示了数据集的前5行,第二个显示了最后5行。

import pandas as pd heart_data = pd.read_csv('heart.csv') print(heart_data.head(5)) print('__________________________________') print(heart_data.tail(5))

很好,接下来呢?现在需要了解数据集,这可以通过数据集网站来实现,在这种情况下,是Kaggle,它告诉列的含义,即贫血等。

一旦完成了对数据集列的理解,就可以开始使用Pandas库进行数据清洗和探索——将在一分钟内进行可视化。

在以下片段中,创建了一个数据集的副本,并更改了数值,即0和1变为是或否。创建副本的主要原因是,当将来创建机器学习模型时——字符串不起作用,因此将使用原始数据集和数值。数字更好,保持应用程序优化。但作为人类,更容易理解文字——因此,当探索数据时——这些字符串将更容易理解。这是一个非常模糊的解释——但请耐心听说😅

以下片段进一步展示了可以用Pandas库做的一些很棒的事情。首先,获得了有关数据集列的一些信息。例如,第一列说年龄,这告诉有299个填充的(没有缺失)值。数据类型是float64——换句话说,以小数形式,即64.5。

第二段代码是不需要时间列的地方。

更多精彩内容!可以查看GitHub仓库,以获取有关代码的更多信息。

现在让开始可视化,将使用Matplotlib和Seaborn库来实现这一点!

这段代码显示了性别列的频率,换句话说,每个性别候选人的值。在这种情况下,观察到大约有190名男性候选人,大约有110名女性。这是一种直观的方式来了解数据。相信之前通过Pandas只做了同样的事情——但这更容易记住,看起来也更有趣一些!

另一个很棒的图表!被称为Lmplot——简单但非常有信息量!在这种情况下,观察到在60-70岁之间,血小板(下面定义)的高相关性。此外,这告诉血小板似乎在男性中更常见,而不是女性。血小板的平均值在两个性别中似乎是250,000-300,000。

所以这个图表就能告诉很多关于数据,这是一个非常基本的图表。还有很多复杂的图表——今天不会涵盖。想保持简单!但有一件事真的很简单,就是给这篇博客点赞并关注😁

血小板——血小板是无色的血细胞,帮助血液凝固。血小板通过在血管损伤处形成凝块来止血。

以下片段可视化了一个catplot。可以观察到每个性别的高血压与年龄的关系。这表明大多数候选人的血压并不太高。现在也可以添加一些东西来显示这个图表中的死亡率!自己尝试一下。可能有点复杂,但尝试没有害处。可以使用另一个图表,如折线图!

需要注意的一点是,只有299个数据条目——这并不多,但非常适合练习EDA技能,所以这可能不是制作AI应用的最佳选择,尽管这是完全可行的。

在这本笔记本中还制作了一些其他图表,可以在这里访问,并确保给它一个开始:)

查看代码在Gist上。

恭喜完成了第一个EDA项目!希望理解了所说的一切,并享受了阅读!

简而言之,可以说Python为提供了各种工具来帮助了解数据。像lmplots这样的基本图表告诉很多关于数据的信息!甚至可以创建相关图表和3D频谱图!想象力是限制!

  1. 探索性数据分析是了解和熟悉数据的全部。
  2. 探索性数据分析对于构建机器学习模型(预测、分类等)至关重要,因为数据是语言,需要了解潜在的模式——这样就可以在选择机器学习算法(线性回归、支持向量机、神经网络等)时考虑这些模式,从而使ML模型更加优化和准确。
  3. 可以使用Python和R,尽管使用并推荐Python,因为它有各种库和非常大的社区。
  4. 不需要创建花哨的图表,即使是像Lmplot这样简单的东西也会告诉很多关于数据的信息。
  5. 正确学习数据科学、数据分析、探索性数据分析和机器学习的唯一方法是不断练习。选择想要探索的数据集并开始,不要只是观看教程或阅读书籍、文章等。实践是完美的关键,至少作为一个13岁的孩子,也是这样——只是通过实践和一点YouTube学习了数据科学。

可能想要阅读以下博客:

  • 向13岁的孩子解释机器学习:https://medium.com/codex/what-is-machine-learning-explained-to-a-13-year-old-4b0e16ffb1d7
  • 如何开始人工智能,向13岁的孩子解释:https://medium.com/codex/how-to-get-started-with-ai-explained-to-13-year-old-f57c9a58dfed
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485