数据预处理: 数值特征归一化

  1. 归一化的必要性
    若不进行归一化处理,分析出来的结果显然会倾向于数值差别比
    较大的特征。想要得到更为准确的结果,就需要进行特征归一化
    (Normalization)处理,使各指标处于同一数值量级。
    例如 身高 1.8M 体重 50KG 体重会对结果产生较大的影响
  2. 归一化的方法
    1 线性函数归一化(Min-Max Scaling)
    对原始数据进行线性变换,使结果映射到[0, 1]的范围,实现对原始数据的等比缩放。归一化公式如下:
    在这里插入图片描述
    2 零均值归一化(Z-Score Normalization)
    将原始数据映射到均值为0、标准差为1的分布上,适用于分布没有明显边界的情况。归一化公式定义为:在这里插入图片描述
    μ原始特征的均值、σ为标准差。
    在sklearn.preprocessing中提供了一个scale的方法,可以实现以上功能。
  3. 归一化的方法对梯度下降的影响
    假设有x1、x2两种特征,x1范围为[1,100],x2范围为[1,10],此时优化的目标函数等值线如下图左所示,在学习速率相同的情况下,x1的更新速度会大于x2,需要较多的迭代才能找到最优解;归一化之后,优化的目标函数等值线变为如下图右所示,x1和x2的更新速度变得更为一致,容易更快地通过梯度下降,更快地找到最优解。
    在这里插入图片描述
  4. 常见的需要归一化的算法
    通过梯度下降进行迭代求解的模型需要对数据进行归一化,常见的包括如下算法:线性回归、逻辑回归、支持向量机、神经网络等模。
    决策树不需要,决策树分裂信息增益、信息增益比等,不需要归一化;归一化并不会改变样本在特征x上的信息增益。

猜你喜欢

转载自blog.csdn.net/pynash123/article/details/88079539