登录
首页大数据时代python数据清洗之噪声值的判断和处理
python数据清洗之噪声值的判断和处理
2020-07-31
收藏

提到噪声,你会想到什么?刺耳的,高分贝的声音?总之就是不好的,不想接受的声音。小编今天跟大家分享的就是python数据清洗中的噪声数据,对于这些噪声数据我们应该怎样检测和处理呢?下面跟小编一起来看吧。

一、什么是噪声数据

噪声数据Noisy Data,噪声值,指的是数据中存在着一个或中者几个错误的,或者偏离期望值的数据,又可以叫做异常值、或者离群值(outlier),这些数据会对数据的分析造成了干扰,我们需要在python数据清洗时将这些数据清洗掉。

举一个最简单的例子来理解噪声数据,在一份统计顾客年龄的名单中,有数据为顾客年龄:-50.显然这个数据就是噪声数据。

二、噪声数据检测

噪声数据的检测方法有很多,小编这这里介绍三种最常用的方法。

1.3∂原则

数据需要服从正态分布。若一个数据分布近似正态,则大约 68% 的数据值会在均值的一个标准差范围内,大约 95% 会在两个标准差范围内,大约 99.7% 会在三个标准差范围内。在3∂原则下,异常值如超过3倍标准差,那么可以将其视为异常值。如果数据不服从正态分布,我们就可以通过远离平均距离多少倍的标准差来判定(多少倍的取值需要根据经验和实际情况来决定)。

2.箱线图是通过数据集的四分位数形成的图形化描述。是非常简单而且效的可视化离群点的一种方法。上下须为数据分布的边界,只要是高于上须,或者是低于下触须的数据点都可以认为是离群点或异常值。

下四分位数:25%分位点所对应的值(Q1)

中位数:50%分位点对应的值(Q2)

上四分位数:75%分位点所对应的值(Q3)

上须:Q3+1.5(Q3-Q1)

下须:Q1-1.5(Q3-Q1)

其中Q3-Q1表示四分位差

3.k-means

k-means是基于聚类的离群点识别方法,其主要思想是一个对象是基于聚类的离群点,如果该对象不强属于任何簇,那么该对象属于离群点。

三、噪声数据处理

噪声数据最直接简单的方法是:找到这些孤立于其他数据的记录直接删除。但是这样做有很大的缺点,很可能会都是大量有用、干净的信息。小编在这里整理了几种python数据清洗时常用的噪声数据处理方法,希望对大家有所帮助。

1.分箱

分箱法通过考察数据的“近邻”来光滑有序数据的值。有序值分布到一些桶或箱中。

分箱法包括等深分箱:每个分箱中的样本量一致;等宽分箱:每个分箱中的取值范围一致。直方图其实首先对数据进行了等宽分箱,再计算频数画图。

分箱方法是一种简单而且常用的python数据清洗方法,通过考察近邻数据来确定最终值。“分箱”其实也就是指按照属性值划分的子区间,一个属性值如果处于某个子区间范围内,就当做把该属性值放进这个子区间所代表的“箱子”内。按照一定的规则将待处理的数据(某列属性值)放进一些箱子中,考察每个箱子里的数据,并且采用某种方法对各个箱子中的数据分别进行处理。采用分箱技术的两个关键问题是:(1)如何分箱(2)如何对每个箱子中的数据进行平滑处理。

分箱的方法通常有4种,分别为:等深分箱法、等宽分箱法、最小熵法和用户自定义区间法。

(1)等深分箱法,又叫做统一权重,是指将数据集按记录行数分箱,每箱样本量一致。最简单的一种分箱方法。

(2)等宽分箱法,统一区间,使数据集在整个属性值的区间上平均分布,也就是每个分箱中的取值范围一致。

(3)用户自定义区间,用户可以根据实际情况自定义区间,使用这种方法能帮助当用户明确观察到某些区间范围内的数据分布。

2.回归

发现两个相关的变量之间的变化模式,通过使数据适合一个函数来平滑数据。

若是变量之间存在依赖关系,也就是y=f(x),那么就可以设法求出依赖关系f,再根据x来预测y,这也是回归问题的实质。实际问题中更常为见的假设是p(y)=N(f(x)),N为正态分布。假设y是观测值并且存在噪声数据,根据我们求出的x和y之间的依赖关系,再根据x来更新y的值,这样就能去除其中的随机噪声,这就是回归去噪的原理  。

数据分析咨询请扫描二维码

客服在线
立即咨询