搞定数据清洗,你只需要这几招

搞定数据清洗,你只需要这几招

在收集数据或者中,我们获取到的数据是这样的:

亦或是这样的:

还可能是这样的:

 

这个时候我们需要进行的步骤就是数据清洗,数据清洗的对象主要是:缺失值、异常值、重复值和噪音处理。

 

缺失值

缺失值是指粗糙数据中由于缺少信息而造成的数据的聚类、分组、删失或截断。它指的是现有数据集中某个或某些属性的值是不完全的。

缺失值可以用以下方式来进行处理:

1、直接删除:样本较小的情况下,可能会影响最终的分析结果

2、估算:数据均匀,均值法填充;数据分布倾斜,中位数填充;根据数据的分布情况,可以采用均值、中位数、或者众数进行数据填充。

3、插补法:

·   随机插补法:从总体中随机抽取某几个样本代替缺失样本

  • 多重插补法:通过变量之间的关系对缺失数据进行预测,利用蒙特卡洛方法生成多个完整的数据集,在对这些数据集进行分析,最后对分析结果进行汇总处理
  • 热平台插补:指在非缺失数据集中找到一个与缺失值所在样本相似的样本(匹配样本),利用其中的观测值对缺失值进行插补。

·   拉格朗日差值法和牛顿插值法:两者都是通过给定n+1个互异的插值节点,让你求一条n次代数曲线近似地表示待插值的函数曲线.这就叫做代数插值啦.Lagrange插值代数和Newton法插值都属于代数插值的范畴

4、建模法

·   回归:基于完整的数据集,建立回归方程。对于包含空值的对象,将已知属性值代入方程来估计未知属性值,以此估计值来进行填充。当变量不是线性相关或预测变量高度相关时会导致有偏差的估计。

  • 极大似然估计:在缺失类型为随机缺失的条件下,假设模型对于完整的样本是正确的,通过观测数据的边际分布可以对缺失数据进行极大似然估计。
  • 贝叶斯、随机森林、决策树:建立模型对缺失值进行预测。

 

 

异常值

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

异常值可以采用以下方式来处理:

1、删除异常值

明显看出是异常且数量较少可以直接删除

2、不处理

如果算法对异常值不敏感则可以不处理,但如果算法对异常值敏感,则最好不要用这种方法,如基于距离计算的一些算法,包括kmeans,knn之类的。

3、平均值替代

损失信息小,简单高效

4、视为缺失值

可以按照处理缺失值的方法来处理

 

 

去重

去重是重复值处理的主要方法,主要目的是保留能显示特征的唯一数据记录。

数据集中的重复值包括以下两种情况:

  • 数据值完全相同的多条数据记录。
  • 数据主体相同但匹配到的唯一属性值不同。这种情况多见于数据仓库中的变化维度表,同一个事实表的主体会匹配同一个属性的多个值。

当数据集中的重复值是第一种情况时,直接去重即可,如果是第二种情况,需要根据属性的性质来决定是否去除。

 

噪音处理

噪声数据是指数据中存在着错误或异常(偏离期望值)的数据,这些数据对数据的分析造成了干扰。

噪音处理的方法有:

1、分箱法:

将待处理的数据按照一定的规则放入箱子中,考察每一个箱子中的数据,根据各个箱子的情况采取方法进行数据处理。

分箱方法:等深分箱法(按记录行数分箱,每箱具有相同的记录数)

          等宽分箱法(每个箱的区间范围是一个常量,根据区间范围分箱)

          用户自定义区间

          最小熵(使各区间分组内的记录具有最小熵)

分箱后对数据进行平滑处理:

  • 均值平滑:对同一箱值中的数据求平均值,箱内的数据用平均值代替。
  • 中位数平滑:取中位数,箱内数据用中位数来代替。
  • 边界平滑:箱中的最大和最小值同样被视为边界。箱中的每一个值被最近的边界值替换。

一般而言,宽度越大,光滑效果越明显。箱也可以是等宽的,其中每个箱值的区间范围是个常量。分箱也可以作为一种离散化技术使用.

 

2、回归法

可以用一个函数拟合数据来光滑数据。线性回归涉及找出拟合两个属性(或变量)的“最佳”直线,使得一个属性能够预测另一个。多线性回归是线性回归的扩展,它涉及多于两个属性,并且数据拟合到一个多维面。使用回归,找出适合数据的数学方程式,能够帮助消除噪声。

 

3、聚类

将物理的或抽象对象的集合分组为不同簇(一组数据对象的集合),找出并清除落在簇之外的值(孤立点),这些孤立点就是噪声。

 

 

最后,在进行清洗之前,一定一定不能把忘了储存你的源数据!

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值