variate(如何检测和删除异常值)

在开展数据科学项目时,您在寻找什么? EDA阶段最重要的部分是什么?如果在EDA阶段没有完成某些事情,可能会影响进一步的统计、机器学习建模。其中之一是找到“异常值”。在这篇文章中,我们将尝...

在开展数据科学项目时,您在寻找什么? EDA阶段最重要的部分是什么?如果在EDA阶段没有完成某些事情,可能会影响进一步的统计、机器学习建模。其中之一是找到“异常值”。在这篇文章中,我们将尝试了解什么是异常值?为什么识别异常值很重要?**是什么?不要担心,我们不会仅仅只讲理论部分,我们也会对数据进行一些编码和绘图。

异常值

百度百科定义:

是指一组测定值中与平均值的偏差超过两倍**差的测定值,与平均值的偏差超过三倍**差的测定值,称为高度异常的异常值。

如何检测和删除异常值?

上述定义表明异常值与人群是分开的、不同的。许多动机视频表明与众不同,特别是Malcolm Gladwell。在统计方面,这是否也是好事?我们将通过这篇文章来发现其中的秘密。

你看到上面的图像有什么不同吗?只有3是和别的数字不同的,这就是我们的异常值,因为它不接近其他号码的位置。

数据采集和异常值

我们现在知道什么是异常值,但是,你是否也想知道异常值应该如何向人们介绍?

数据科学项目从收集数据开始,这是异常值首次引入人群的时间。尽管如此,在收集阶段你根本不知道它,异常值可能是数据收集**中出现错误的结果,也可能只是数据中的方差的一个表示。

我们来看一些例子。假设你被要求观察印度板球队的表现,由每个球员跑动并收集数据。

如何检测和删除异常值?

采集数据

从上面采集的数据可以看出,除了球员3得分为10外,其他所有玩家都**了300+。这个数字可能只是一个输入错误,或者它显示了数据的差异,并表明球员3的表现非常糟糕,因此需要改进。

既然我们知道异常值可能是一个错误或者只是一个方差,你会如何决定它们是否重要。那么,如果它们是错误的结果,那么它非常简单,我们就可以忽略它们,但如果它只是数据的变化,我们需要进一步思考。在我们尝试了解是否忽略异常值之前,我们需要知道如何识别它们。

发现异常值

大多数人可能会想,就像我们在前面提到的板球例子中所做的那样,我可以在数据的高峰期找到异常值。让我们考虑一个包含500列和10k +行的文件,您是否仍然认为可以手动找到异常值?为了减轻异常值的发现,我们有很多统计**,但我们只会讨论其中的一些。大多数情况下,我们会尝试查看可视化**(最简单的**)而非数学**。

所以,我们开始吧。我们将使用包含在sklearn数据集API中的波士顿房屋定价数据集。我们将加载数据集并分离出特征和目标。

如何检测和删除异常值?

如何检测和删除异常值?

波士顿楼市数据

特征/自变量将用于查找异常值,看看上面的数据,看起来,我们只有数值,我们也不需要做任何数据格式化。

我们将根据两种类型的**找出异常值,单变量(一个变量异常值**)和多变量(两个或多个变量异常值**)。不要感到困惑,当你开始编码和绘制数据时,你会发现自己检测异常值有多容易。为了简单起见,我们将从检测异常值的基本**开始,并慢慢地继续前进**。

使用可视化工具发现异常值

箱形图-

**百科定义,

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,常见于品质管理。

上面的定义表明,如果存在异常值,它将绘制为箱形图中的点,但其他人群将被组合在一起并显示为框。让我们尝试自己看看。

如何检测和删除异常值?

如何检测和删除异常值?

箱型图

上面的图表显示了10到12点之间的三个点,这些是异常值,因为没有包括在其他观测值的框中,即没有位于四分位点附近。

这里我们**了Uni-variate异常值,即我们只使用DIS列来检查异常值。但我们也可以进行多元异常**。我们可以用箱型图进行多元**吗?那么它取决于,如果你有一个分类值,那么你可以使用任何连续变量,并进行多元异常值**。由于我们在波士顿房屋数据集中没有明确的价值,因此我们可能需要忘记使用箱形图进行多变量异常值**。

散点图-

百度百科定义

散点图是指在回归**中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择**的函数对数据点进行拟合。如定义所示,散点图是显示两个变量值的点的**。我们可以尝试从我们的住房数据集中绘制两个变量的散点图。

如何检测和删除异常值?

如何检测和删除异常值?

散点图 - 每个城镇的非零售业务亩比例v / s全价值物业税

看上面的情节,我们可以将大部分数据点放在左下方,但是有些点远离右上角的人口。

用数学函数发现异常值

Z-Score-

百度百科定义

Z-Score是观测值或数据点的值高于被观测或测量的平均值的**偏差的有符号数。

Z-score背后的直觉是通过查找它们与数据点组的**差和均值的关系来描述任何数据点。它是找到数据的分布,其中平均值为0,**偏差为1,即正态分布。

你一定想知道,这对识别异常值有什么帮助?那么,在计算Z-Score的同时,我们对数据进行重新缩放和居中,并查找距离零太远的数据点。这些距离零太远的数据点将被视为异常值。在大多数情况下,使用3或-3的阈值,即,如果Z-Score分别大于或小于3或-3,则该数据点将被识别为异常值。

我们将使用在scipy库中定义的Z-score函数来检测离群值。

如何检测和删除异常值?

如何检测和删除异常值?

波士顿房屋数据的Z-Score

看上面的代码和输出,很难说哪个数据点是异常值。让我们试着定义一个阈值来识别异常值。

如何检测和删除异常值?

将给出如下结果:如何检测和删除异常值?

Z-Score大于3的数据点

不要被结果所迷惑。第一个数组包含行号列表和第二个数组各自的列号,这意味着z [55] [1]的Z-Score高于3。

如何检测和删除异常值?

箱型图使用IQR**显示数据和异常值(数据的形状),但为了**已识别的异常值列表,我们需要使用数学公式并检索异常值数据。

IQR

**百科定义

四分位距(IQR)也称为四分差,是衡量统计偏差的指标,等于第75和第25百分位之间的差值,或者等于上和下四分位数之间的差值,IQR = Q3 - Q1。

换句话说,IQR是从第三个四分位数中减去的第一个四分位数;这些四分位数可以在数据上的盒子图上清楚地看到。

它是类似于**偏差或方差的分散度的度量,但对于异常值来说更加稳健。

就查找数据分布而言,IQR与Z-score有些相似,然后保留一些阈值以确定异常值。

让我们来看看我们可以使用IQR对盒子图进行绘图,以及我们如何使用它来找到异常值列表,就像我们使用Z分数计算一样。首先我们将计算IQR,

如何检测和删除异常值?

在这里,我们将**每列的IQR。

如何检测和删除异常值?

IQR为每列

因为我们现在有IQR分数,现在是时候控制异常值了。下面的代码将给出具有一些真值和假值的输出。我们有False的数据点表示这些值是有效的,而True表示存在异常值。

如何检测和删除异常值?

如何检测和删除异常值?

用IQR检测异常值

现在我们知道如何检测异常值,了解它们是否需要删除或更正很重要。在下一节中,我们将考虑一些删除异常值的**,并且如果需要的话可以输入新的值。

使用异常值:更正、删除

在数据****中,当您发现异常值时,最难的决定之一可能是应该如何处理异常值。他们应该删除它们还是纠正它们?在我们讨论这个之前,我们将看看几种去除异常值的**。

Z-Score

在前一节中,我们看到了如何使用Z-score来检测异常值,但现在我们想要移除或过滤异常值并获取干净的数据。这可以用一行代码完成,因为我们已经计算了Z分数。

如何检测和删除异常值?

如何检测和删除异常值?

有和没有异常值数据集的大小

因此,上面的代码从数据集中移除了大约90多行,即异常值已被删除。

IQR评分 -

就像Z-score一样,我们可以使用以前计算的IQR分数来通过仅保留有效值来过滤掉异常值。

如何检测和删除异常值?

上面的代码将从数据集中移除异常值。

有多种**可以检测和删除异常值,但我们用于此练习的**被广泛使用并且易于理解。

是否应该删除异常值。每一位数据**师、数据科学家可能会在他们正在处理的每一个问题中都**这些想法。我找到了一些很好的解释。

总结他们的解释,包括错误的数据、错误的计算,这些可以被识别为离群值,并应该在他们改变数据的水平时被丢弃,也就是说,当您建模数据时会引起问题的平均值。对于前5人**10K,20K,30K,40K和50K的薪水,突然其中一人开始**100K的薪水。考虑到这种情况,因为你是一名雇主,新的薪资更新可能被视为有偏见,或者你可能还需要**其他员工的薪水,以**平衡。因此,您可能有多种理由想要了解并纠正异常值。

总结

在整个练习中,我们看到了数据**阶段如何能够遇到一些不寻常的数据,即异常值。我们了解了可用于检测和删除这些异常值的技术。但是有人提出了一个关于确定是否可以移除异常值的问题。为了回答这些问题,我们发现了更多的读物(这些链接在前一节中提到)。希望这篇文章有助于读者了解异常值。

注:对于本练习,使用了下面的工具和库。

框架- Jupyter笔记本、语言- Python、库- sklearn库、Numpy,、Panda和Scipy,、Plot Lib- Seaborn和Matplot。

  • 发表于 2022-11-24 15:04:57
  • 阅读 ( 118 )
  • 分类:科技

0 条评论

请先 登录 后评论
aaa123123
aaa123123

1098 篇文章

你可能感兴趣的文章

相关问题