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