数据预处理
对于分类任务来说,由于原始数据可能存在异常、缺失值以及不同特征的取值范围差 异大等问题,对机器学习会产生影响,因此,在进行机器学习模型训练之前,需要先对数据 进行预处理。数据预处理的主要过程包括数据清洗、去量纲、离散化等。
1.数据清洗
对采集到的数据进行清洗,主要工作包括缺失值处理和异常值处理。
1)缺失值处理 缺失值是指样本中存在某个或某些特征没有值的情况,对此,可以采取的处理策略有 删除数据、数据填充。
如果整个数据集中的某个特征值缺失得较多,就可以简单将该特征舍弃。如果包含 缺失值的记录不多,则可以采用一些常用的填充策略。典型的方法有固定值填充、均值填充、中位数填充、上下数据填充、插值法填充和随机数填充等。这些方法的基本出发点是 利用该特征在整个数据集中的统计量来填充,例如中位数就是把非缺失的特征值进行排 序后取中间位置上的数作为缺失记录的特征值。
2)异常值处理 异常值是指样本中的某个特征取值与其他样本有显著差异,例如某个记录的年龄字 段为200岁,某城市的气温为100℃等。 针对这种情况可以采取的策略有按照缺失值处理、采用其他样本的平均值或最大值 等统计量来代替,也是一些启发式的处理方式。
2.去量纲
数据集中不同属性的取值范围可能存在很大的差异,例如用米为单位度量的身高和 以千米度量的两个城市之间的距离。这种差异会导致机器学习模型的目标函数在某些维 度上取值范围远远大于其他维度,当进行梯度下降时,收敛慢,训练时间过长。
去量纲的要求是使不同取值范围的特征值转换到同一规格,一般是[0,1]或[-1,1] 等。常见的去量纲方法有归一化和标准化。
通过归一化把原始数据转换为单位向量,主要有最大最小缩放、对数变换、反正切变 换