原始数据中,通常会存在脏数据,主要包括:数据缺失、数据噪声、数据冗余、数据集不均衡等。
数据预处理的方式主要包括:数据清洗、数据转换、数据描述、特征选择(组合)、特征抽取。
1、数据清洗
在数据清洗阶段,首先处理缺失值和噪声数据。
数据缺失表现为存在NA的数据,数据噪声通常表现为异常值,比如-999。这两种异常数据的处理方式相似,如下:
(1)首先根据训练集看缺失值对预测结果的区分程度,如果该特征的缺失值对于分类并无太大作用,可以去除;如果对于预测结果有明显的区别,例如缺失值对应的违约率较高,则可以把缺失值当做该特征的一个新类别。
(2)若一个特征对应多个类别,可以根据各类别对应的预测结果进行组合,比如有一特征为分层,包含1、2、3、-999类别,查看各特征下每个类别对应的违约率,若-999与3数量都很少且违约率相差不大,则可以合并,用以尽可能降低维度,减少特征矩阵的稀疏性。
(3)根据其他特征进行填补。比如,用户基本信息包括证件号、所在地、申请地三个位置信息,分别以前六位数字码表示。当申请地为空时,可以根据证件号和所在地的编码对其进行填充。
(4)对于连续型类型的数据,也可以根据均值或中值等进行填充。
2、数据转换
在数据转换阶段,对数据进行采样处理、类型转换、归一化。
首先需要查看数据集的数据类型,数据类型可以简单划分为数值型和非数值型。数值型有连续性和离散型,非数值型有类别型和非类别型(如字符串型)。