在数据挖掘中,海量的原始数据中存在着大量不完整(有缺失值)、不一致、有异常的数据,严重影响到数据挖掘建模的执行效率,甚至可能导致挖掘结果的偏差,所以进行数据清洗就显得尤为重要,数据清洗完成后接着进行或者同时进行数据集成、转换、规约等一系列的处理,该过程就是数据预处理。数据预处理一方面是要提高数据的质量,另一方面是要让数据更好地适应特定的挖掘技术或工具。统计发现,在数据挖掘的过程中,数据预处理工作量占到了整个过程的60%。
7.1.1缺失值处理
从统计上说,缺失的数据可能会产生有偏估计,从而使样本数据不能很好地代表总体,而现实中绝大部分数据都包含缺失值,因此如何处理缺失值很很重要。
一般来说,缺失值的处理包括两个步骤,即缺失数据的识别和缺失值处理。在对是否存在缺失值进行判断之后需要进行缺失值处理,常用的方法有删除法、替换法、插补法等。
(1)删除法
删除法是最简单缺失值处理方法,根据数据处理的不同角度可分为删除观测样本、删除
变量两种。
(2)替换法
变量按属性可分为数值型和非数值型,二者的处理办法不同:如果缺失值所在变量为数
值型的,一般用该变量在其他所有对象的取值的均值来替换变量的缺失值;如果为非数值型变量,则使用该变量其他全部有效观测值的中位数或者众数进行替换。
(3)插补法
删除法虽然简单易行,但会存在信息浪费的问题且数据结构会发生变动,以致最后得到
有偏的统计结果,替换法也有类似问题。在面对缺失值问题,常用的插补法有回归插补、多重插补等。回归插补法利用回归模型,将需要插值补缺的变量作为因变量,其他相关变量作为自变量,通过回归函数lm()预测出因变量的值对缺失变量进行补缺;多重插补法的原理是从一个包含缺失的数据集中生成一组完整的数据,进行多次,从而产生缺失值的一个随机样本。
7.1.2异常值处理
在异常值的处理之前需要对异常值进行识别,一般多采用单变量散点图或是箱形图可以达到目的。
在数据预处理时,异常值是否剔除,需视具体情况而定,因为有些异常值可能蕴含着有用的信息。