为了消除数据特征之间的纲量影响,我们需要对特征进行归一化处理,使得不同指标之间具有可比性。例如,分析一个人的身高和体重对健康的影响,如果使用(米)和千克(kg)作为单位,那么身高特征会在1.6 ~ 1.8米的数值范围内,体重特征会在50 ~ 100kg的范围内,分析出来的结果显然会倾向于数值差别较大的体重特征。想要得到更为准确的结果,就需要进行特征归一化(Normalization)处理,使各项指标处于同一数值量级,以便进行分析。
知识点: 特征归一化 问题 为什么需要对数值类型的特征做归一化
分析与解答: 对数值类型的特征做归一化可以将所有的特征统一到一个大致相同的数值区间内。最常用的方法主要有一下两种。 (1)线性函数归一化(Min-Max Scaling)。它对原始数据进行线性变换,使结果映射到[0, 1]的范围,实现对原始数据的等比缩放。归一化公式如下:
图1.1 数据归一化对梯度下降收敛速度产生的影响
当然,数据归一化并不是万能的。在实际应用中,通过梯度下降法求解的模型通常是需要归一化的,包括线性回归 逻辑回归、支持向量机 神经网络等模型。但对于决策树模型则并不适用,以C4.5为例,决策树在进行节点分裂时主要依据数据集D关于特征x的信息增益比(详见第3章第3节),而信息增益比跟特征是否经过归一化是无关的,因为归一化并不会改变样本在特征x上的信息增益。