一、概述
在工程实践中,我们拿到的数据可能包含了大量的缺失值、重复值,异常值等,包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。数据清洗的结果是对各种“脏”数据进行对应方式的处理,得到标准的、干净的、连续的数据,提供给数据统计、数据挖掘等使用。
对于数据预处理的任务,普遍的说法分为下列四个步骤: 数据清洗、数据集成、数据变换和数据规约。 具体的步骤如下:
二、数据预处理方法
2.1 数据清理
1. 去除唯一属性
唯一属性通常是一些id属性,这些属性并不能刻画样本自身的分布规律,故删除即可。
2. 处理缺失值
- 删除含有缺失值的特征:适用于某属性含有大量缺失值,缺失率大于80%;
- 缺失值填充:根据数据分布填充,建模预测、插值法填充、多重插补、极大似然估计、压缩感知和矩阵补全。
- 根据数据分布填充:若数据符合均匀分布,用该变量的均值或该变量同类均值填补缺失,若数据存在倾斜分布的情况,采用中位数进行填补。
- 建模预测填充:将缺失的属性作为预测目标来预测,将数据集按照是否含有特定属性的缺失值分为两类,利用现有的机器学习算法(回归、贝叶斯、随机森林、决策树等模型)对待预测数据集的缺失值进行预测。(该方法的根本的缺陷是如果其他属性和缺失属性无关,则预测的结果毫无意义;但是若预测结果相当准确,则说明这个缺失属性是没必要纳入数据集中的