特征缩放把不同量纲的特征拉到可比范围,常用标准化(减均值除标准差,得到近似零均值单位方差)和归一化(Min-Max 缩放到 [0,1])。
需要它的原因有两类:一是基于距离的模型(KNN、SVM、KMeans、神经网络),量纲大的特征会主导距离计算和梯度更新;二是梯度下降的收敛速度——特征尺度差异大时损失面呈狭长椭圆,梯度来回震荡,缩放后等高线接近圆形,收敛更快。
不敏感的模型:树模型(决策树、随机森林、XGBoost)基于分裂阈值排序,对单调变换不变,无需缩放。
易错点:Scaler 必须只在训练集上 fit,再 transform 验证/测试集,否则统计量泄漏;异常值多时 Min-Max 会被极值压缩,宜改用 RobustScaler(中位数和四分位距)。追问方向:标准化为什么不改变特征的分布形状?稀疏数据为什么不宜减均值(会破坏稀疏性)?