数据清洗

来源:互联网 发布:mac bash 配置 alias 编辑:程序博客网 时间:2024/04/26 08:09

数据清洗

数据清洗的目的是消除数据中的错误、冗余和数据噪音,是数据预处理中的一部分。


分析数据

在一个实际项目中,根据需求而去找寻能获取到的数据。获取数据之后,首先可以做一个简单的统计性分析,如平均值、频次、方差等。从这一步中可以大致发现数据中的异常点、噪音等,从而判断数据的质量。


缺失值处理

在实际情况中,属性值确实是常有的情况,那么对待缺失值的处理需要根据不同的情况做不同的处理:

(1)直接删除。对于含有缺失值的数据数目比较少,而且出现的比较随机,那么可以直接删除。

(2)使用一个全局量进行填充。不建议,不同的属性有不同的特点,用单一的全局量替代缺失值欠妥。

(3)使用该属性的均值或者中位数填充。

(4)插补法。从所使用的方法来看,插补法和常用的数据增强方法有很多共同之处。
a. 从总体中随机抽取一个替代当前样本(随机插补法);
b.通过变量之间的关系对缺失数据进行预测,如蒙特卡洛方法(多重插补法);
c. 通过Lagrange、Newton等插值方法进行填充(插值法);
d. 在未缺失数据的样本中寻找相似的样本处对应的值进行填充(热平台插补)。

(5)建模法(推荐
利用回归、贝叶斯、决策树等方法进行预测。


异常值处理

检测与判别

异常点通俗的说就是不合群的点。
(1)简单的分析法。如判定数据值的范围。
(2)简单的统计方法。如在假设检验中的置信区间,如果数据服从正态分布,那么数据落在3σ区间内的概率为0.9974,也就是P(|xu|<3σ)0.9974。其他的分布可以参考这种方式。
(3)箱型图分析
(4)基于模型的检验。建立相应的数据模型(回归模型等),然后检查数据是否符合模型。
(5)基于相似性度量。观察数据点是否与其他点相似。
(6)基于密度的度量。适合非均匀分布的数据。
(7)基于聚类。

处理

(1)不处理。参考使用的算法是否对异常点敏感。
(2)视为缺失值,利用对缺失值的方法进行处理。


去重处理

先查找重复数据,然后删除。


噪音处理

注意区别噪音和异常点。观测值是真实值和噪声的叠加。异常点指的是观测值,它与其他观测值有着明显的区别,也有可能是噪音造成的;噪声虽然会使得对真实数据有影响,但一般不会造成过分的影响。
(1)滤波。均值滤波、中值滤波等,盒型滤波方法中可以自定义盒型的构建。
(2)回归。建立回归模型,对属性值进行预测。


References:
[1]机器学习基础与实践(一)—-数据清洗
[2]机器学习之常见的数据预处理