博客3

EDA在数据科学中的作用

在facebook上分享
在twitter上分享
分享在linkedin
在whatsapp分享

最近,每天都有大量的数据产生,公司希望利用这些数据,产生可操作的见解,以改变他们的战略,并从中获利。公司正在投资数据科学和数据分析,以帮助他们重建战略。EDA在这一过程中发挥了重要作用。数据科学家、数据分析师和机器学习工程师在EDA上花费了大量时间,以获得见解、构建和优化机器学习模型。

EDA是什么?

ExploratoryData一个分析是由"约翰土耳其在20世纪70年代。在统计学中,它被称为理解数据结构的第一个过程,并允许我们发现模式和见解。EDA通常是数据建模过程的第一步。根据维基百科的定义,它是一种分析数据、总结主要特征和理解数据结构的方法,通常使用可视化方法。

为什么EDA被忽视了?

一般来说,许多渴望成为数据分析师或数据科学家的人忽视了EDA和EDA结果的重要性。这样做有不同的原因,比如不知道如何使用结果,工作专业人士由于严格的截止日期而避免使用结果。这将导致创建不准确的模型或使用不准确和噪声数据的精确模型。这可能是一种不合适的方法,因为如果不理解EDA的发现并实现它们,就不建议创建模型。

据说,有深度的数据科学家和机器学习工程师将50%到60%的时间用于EDA和预处理。只有好的数据才能得到好的模型,对吧?研究数据的人员应该开发执行EDA的实践,实现结果和发现,并在需要更好的模型结果的地方操纵数据。现在让我们看看EDA中的一些要点。

我们为什么需要EDA?

EDA在理解问题陈述的“什么”、“为什么”和“如何”方面起着关键作用。它允许一个人调查和理解数据,从而帮助一个人做出关键的决定,什么是有趣的追求和什么是不值得跟踪。它有助于利用变量之间的关系建立假设,这样人们就可以决定所选择的特征是模型的朋友还是敌人。EDA的另一个主要成果是理解数据的分布和结构。许多测试、技术和图表帮助我们确定数据的最佳分布和结构,这有助于我们在预处理中采取必要的步骤。

你是如何进行EDA的?

有许多技术和过程,我们可以执行EDA,总的来说,我们希望从基本的EDA中获得以下结果:

一个logo的特写描述自动生成

数据描述:python中有像describe(), head(), unique(), summary()这样的函数。可以使用distplot()、直方图以及matplotlib、seaborn和其他类似包生成绘图。它还帮助我们找出数据的其他属性,如趋势和季节性。这一点非常重要,特别是当我们处理时间序列数据时,在EDA的帮助下,我们还可以找到不平衡的数据集。这有助于根据不平衡数据集选择评估指标。

缺失值:现实世界的数据很少是干净的,数据可以是缺失的,因为不正确的数据提取或人工错误或由于其他原因,可以有场景中,我们将看到重复的记录也说,一个记录可能丢失或者误插入数据。丢失的值和重复的记录需要小心处理,因为它们会降低模型的性能,并导致错误的预测。我们可以使用诸如平均数、中位数、模态之类的归算方法,或者使用高级归算方法,如简单归算、k-最近邻归算等。如果缺少的值超过15%,我们可以删除列,因为输入巨大的数据是不可取的。

异常值:异常值是指那些不同且超出正常范围的数据或值。这可能是由于数据收集过程中的错误造成的,也可能是一个真实的值。这些异常值往往会使你的数据产生偏差,使模型偏向某些值,从而导致错误的预测。可以借助箱线图、直方图、IQR、Z-Score和散点图检查异常值。机器学习模型不能用嘈杂的数据,我们必须处理离群值,最常用的方法是用这种方法差我们可以消除异常值,还有另一个方法是闵可夫斯基错误,这并不与其他方法检测或清洁异常值,但它有助于减少对数据异常值的影响。这可以用于有异常值但数据点对业务角度非常必要的情况。

两个变量之间的关系:在建模的过程中,特定的算法要满足一定的假设,因此必须检查变量之间的关系,并在预处理步骤中进行相应的处理。热图和直方图帮助我们分析这些关系。

生成的见解:EDA可以用来生成一些见解,这些见解是在你的数据中,这将帮助人对数据进行相应的建模,并执行不同的预处理操作,以为模型提供更好的数据,有不同种类的图和方法来生成见解,可以使用图表或表格和不同的分组操作来生成洞察力。这些是我们可以用来执行EDA的一些图表的例子。

建议:EDA是过程中重要的部分,但不是使用机器学习模型的困难部分,在创建模型和基于提供的数据解释模型结果之前,它已经成为一个必要的理解数据。随着世界各地对数据科学领域的不断贡献,市场上出现了许多新的EDA工具,如plot、bokeh、pandas profiling、MPLD3、missingno。这些包提供了更直观地探索和遍历数据结果的功能。我们不应该低估EDA的力量,因此利用它为模型带来更大的好处。