在机器学习和数据分析领域,特征缩放(Feature Scaling)是最重要的数据预处理步骤之一。本文将通过原理讲解和代码实践,深入探讨两种最常用的特征缩放方法:标准化(Z-Score标准化)和归一化(Min-Max标准化)。
一、为什么需要特征缩放?
当数据特征存在量纲差异时(如年龄[0-100]与收入[0-1000000]),会导致:
- 距离计算主导权向大范围特征倾斜
- 梯度下降收敛速度变慢
- 某些算法(如SVM、KNN)性能下降
二、标准化(Standardization)
数学原理
standardized_data = (data - mean) / std
- 均值中心化:减去特征均值(μ)
- 标准差缩放:除以特征标准差(σ)
- 处理结果:数据服从标准正态分布(μ=0, σ=1)
特性
属性 | 说明 |
---|---|
均值 | 0 |
标准差 | 1 |
数据范围 | [-∞, +∞] |
异常值敏感度 | 中 |
应用场景
- 线性回归、逻