汉语宝典

特征缩放 Min-Max

Min-Max 特征缩放器,将特征值线性缩放到 [0,1] 或 [−1,1] 区间,用于机器学习归一化预处理,注意 max≠min。

🖼️ Min-Max Feature Scaler

Linearly rescale feature values into the [0, 1] or [-1, 1] range, the standard preprocessing step before distance-based models.

📐 计算公式 / 原理
x′ = (x − min)/(max − min);[-1,1] 映射 x″ = 2x′ − 1;Z-score 近似 (x − x̄)/((max − min)/2)
Min-Max 把特征线性压到固定区间,保留原始分布形状但不改变相对关系;缺点是受离群点支配(一个极大值会把其余样本挤到窄区间)。树模型不需要缩放,而梯度下降类与距离类模型通常必须做。

📐 计算公式与说明

x' = (x − min) / (max − min)
映射到 [−1,1]:2x' − 1

注意 max 不能等于 min。

📚 深度解析:特征缩放 Min-Max

💡 常见使用场景

  • [0,1] 缩放 x'=(x−min)/(max−min);[−1,1] 缩放 x'=2(x−min)/(max−min)−1。
  • 要求 max≠min,否则分母为零;异常值会压缩正常样本区间。
  • 缩放到固定区间利于梯度下降与距离类算法(如 KNN、K-Means)收敛。
归一化计算
特征取值 10~40,x=25 → [0,1]:(25−10)/30=0.5;[−1,1]:2×0.5−1=0.0,恰为区间中点。若含异常值 1000 则正常样本全挤在 0 附近。

❓ 常见问题(FAQ)

Min-Max 和 StandardScaler 怎么选?
Min-Max 固定边界、对异常值敏感,适合已知范围(如图像 0~255);StandardScaler(均值0方差1)对异常更稳健,适合多数建模。
测试集怎么缩放?
必须用训练集的 min/max 缩放测试集,不能用测试集自身统计量,否则引入数据泄露、夸大泛化效果。