MinMaxScaler, StandardScaler数据预处理中常用的两种缩放方法,用于将数据标准化或归一化到特定的范围或分布

MinMaxScalerStandardScaler 是数据预处理中常用的两种缩放方法,用于将数据标准化或归一化到特定的范围或分布。这两种缩放方法的主要区别在于它们的目标和实现方式。

MinMaxScaler

MinMaxScaler 会将数据缩放到一个指定的范围,通常是 [0, 1] 或 [-1, 1]。其目的是将数据映射到一个新的范围,使得数据的每个特征都有一个固定的范围。
MinMaxScaler 的数学表达式如下:
X scaled = X − X min X max − X min X_{\text{scaled}} = \frac{X - X_{\text{min}}}{X_{\text{max}} - X_{\text{min}}} Xscaled=Xmax−XminX−Xmin

这里, X min X_{\text{min}} Xmin 是数据中每个特征的最小值, X max X_{\text{max}} Xmax 是数据中每个特征的最大值。

StandardScaler

StandardScaler 则会将数据标准化到均值为 0,标准差为 1 的分布。其目的是使数据具有零均值和单位方差,这通常用于提高某些机器学习算法的性能。
StandardScaler 的数学表达式如下:
X scaled = X − μ σ X_{\text{scaled}} = \frac{X - \mu}{\sigma} Xscaled=σX−μ

这里, μ \mu μ 是数据中每个特征的均值, σ \sigma σ 是数据中每个特征的标准差。

使用场景

  • 当您希望每个特征的值都在一个固定的范围内时,例如在神经网络的输入层,MinMaxScaler 是一个很好的选择。
  • 当您希望特征具有零均值和单位方差时,例如在使用线性模型(如线性回归、逻辑回归)时,StandardScaler 通常是一个更好的选择。

实现

在 Python 的 scikit-learn 库中,您可以很容易地实现这两种缩放器。以下是 MinMaxScalerStandardScaler 的简单示例:

python 复制代码
from sklearn.preprocessing import MinMaxScaler, StandardScaler
import numpy as np
# 创建一个示例数据集
X = np.array([[1, 2], [3, 4], [5, 6]])
# 使用 MinMaxScaler
minmax_scaler = MinMaxScaler()
X_scaled_minmax = minmax_scaler.fit_transform(X)
# 使用 StandardScaler
standard_scaler = StandardScaler()
X_scaled_std = standard_scaler.fit_transform(X)

在实际应用中,选择哪种缩放器取决于您的具体需求和使用的算法。

相关推荐
Bryce-Lin2 小时前
深度学习、图像算法学习记录
深度学习·学习·算法
大龄门外汉3 小时前
数据结构之栈和队列
c语言·数据结构·学习·改行学it
朝九晚五ฺ3 小时前
【算法学习】链表篇:链表的常用技巧和操作总结
数据结构·学习·算法·链表
Acxymy3 小时前
MySQL学习笔记十
笔记·学习
青椒大仙KI115 小时前
25/4/9 算法笔记 DBGAN+强化学习+迁移学习实现青光眼图像去模糊1
人工智能·笔记·学习·算法·迁移学习
LuoYaFu5 小时前
文件上传漏洞原理学习
学习·安全·web安全
虾球xz5 小时前
游戏引擎学习第212天
c++·学习·游戏引擎
DKPT6 小时前
物联网与边缘计算之物联网架构(感知层、网络层、应用层)
大数据·笔记·学习·架构·系统架构
蒙奇D索大6 小时前
【11408学习记录】英语语法精析:主从复合句之定语从句完全指南——从规则到实战例句一网打尽
笔记·学习·考研·改行学it
DKPT6 小时前
物联网与边缘计算之边缘计算节点设计与协议(MQTT、CoAP)
服务器·笔记·学习·架构·系统架构