核心要点

标准回答

定义区别

  • 归一化(Min-Max):x' = (x−min)/(max−min),把数据线性压缩到 [0,1](或指定区间)。保留原始分布形状,但严重依赖极值,一个异常值就会压缩其余数据。

  • 标准化(Z-score):x' = (x−μ)/σ,转换为均值 0、方差 1。不限定取值范围,对异常值更稳健,且更贴合许多模型对正态分布的隐含假设。

何时使用

  • 需要缩放的模型:依赖距离的 KNN、SVM、K-Means,依赖梯度收敛的逻辑回归/神经网络,以及 PCA(按方差找主成分)。不缩放会让大量纲特征主导。
  • 树模型无需缩放:决策树、随机森林、GBDT/XGBoost 按特征阈值分裂,单调变换不改变分裂结果。

选择经验

数据有明显边界或需固定区间(如图像像素、神经网络输入)用归一化;数据近似正态或有异常值用标准化。务必只在训练集上 fit,再 transform 验证/测试集,避免数据泄漏。

常见误区

⚠️ 常见踩坑

别在整个数据集上拟合缩放参数再划分——必须用训练集统计量去变换测试集,否则造成数据泄漏;也别给树模型做无意义的缩放。

追问

追问 1为什么树模型不需要特征缩放?

决策树及其集成(随机森林、XGBoost)通过寻找单特征的分裂阈值来划分样本,任何单调的缩放变换都不改变特征值的相对顺序,因而分裂点和树结构不变,缩放对结果无影响。

追问 2遇到长尾或重尾分布怎么处理?

先做对数变换 log(x) 或 Box-Cox/Yeo-Johnson 变换压缩长尾、使分布更对称,再标准化;或使用对分位数鲁棒的 RobustScaler(用中位数和 IQR 而非均值方差),减少异常值影响。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。