MinMaxScaler#

class sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), *, copy=True, clip=False)#

转换特征通过将每个特征缩放到给定范围。

该估计器单独缩放和转换每个特征,使其在训练集上的给定范围内,例如在零和一之间。

转换公式如下:

X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0)) X_scaled = X_std * (max - min) + min

其中 min, max = feature_range。

这种转换通常用作零均值、单位方差缩放的替代方法。

MinMaxScaler 不会减少离群值的影响,但会线性将它们缩放到一个固定范围,其中最大的数据点对应于最大值,最小的数据点对应于最小值。有关示例可视化,请参阅 Compare MinMaxScaler with other scalers

更多信息请参阅 User Guide

Parameters:
feature_rangetuple (min, max), default=(0, 1)

期望的转换数据范围。

copybool, default=True

设置为 False 以就地进行行归一化并避免复制(如果输入已经是 numpy 数组)。

clipbool, default=False

设置为 True 以将保留数据的转换值剪辑到提供的 feature range

Added in version 0.24.

Attributes:
min_ndarray of shape (n_features,)

每个特征的最小值调整。等价于 min - X.min(axis=0) * self.scale_

scale_ndarray of shape (n_features,)

数据的每个特征相对缩放。等价于 (max - min) / (X.max(axis=0) - X.min(axis=0))

Added in version 0.17: scale_ 属性。

data_min_ndarray of shape (n_features,)

数据中每个特征的最小值

Added in version 0.17: data_min_

data_max_ndarray of shape (n_features,)

数据中每个特征的最大值

Added in version 0.17: data_max_

data_range_ndarray of shape (n_features,)

数据中每个特征的范围 (data_max_ - data_min_)

Added in version 0.17: data_range_

n_features_in_int

fit 期间看到的特征数量。

Added in version 0.24.

n_samples_seen_int

估计器处理的样本数量。它将在新的 fit 调用中重置,但在 partial_fit 调用中递增。

feature_names_in_ndarray of shape ( n_features_in_ ,)

fit 期间看到的特征名称。仅当 X 的特征名称均为字符串时定义。

Added in version 1.0.

See also

minmax_scale

没有估计器 API 的等效函数。

Notes

NaNs 被视为缺失值:在 fit 中忽略,在 transform 中保持。

Examples

>>> from sklearn.preprocessing import MinMaxScaler
>>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
>>> scaler = MinMaxScaler()
>>> print(scaler.fit(data))
MinMaxScaler()
>>> print(scaler.data_max_)
[ 1. 18.]
>>> print(scaler.transform(data))
[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]
>>> print(scaler.transform([[2, 2]]))
[[1.5 0. ]]
fit(X, y=None)#

计算用于后续缩放的最小值和最大值。

Parameters:
X形状为 (n_samples, n_features) 的类数组

用于计算沿特征轴缩放的每个特征的最小值和最大值的数据。

yNone

忽略。

Returns:
selfobject

拟合的缩放器。

fit_transform(X, y=None, **fit_params)#

拟合数据,然后进行转换。

将转换器拟合到 Xy ,并带有可选参数 fit_params , 并返回 X 的转换版本。

Parameters:
X形状为 (n_samples, n_features) 的类数组

输入样本。

y形状为 (n_samples,) 或 (n_samples, n_outputs) 的类数组, 默认=None

目标值(无监督转换为 None)。

**fit_paramsdict

其他拟合参数。

Returns:
X_new形状为 (n_samples, n_features_new) 的 ndarray 数组

转换后的数组。

get_feature_names_out(input_features=None)#

获取变换后的输出特征名称。

Parameters:
input_features字符串数组或None,默认=None

输入特征。

  • 如果 input_featuresNone ,则使用 feature_names_in_ 作为输入特征名称。如果 feature_names_in_ 未定义,则生成以下输入特征名称: ["x0", "x1", ..., "x(n_features_in_ - 1)"]

  • 如果 input_features 是数组类型,则 input_features 必须与 feature_names_in_ 匹配(如果 feature_names_in_ 已定义)。

Returns:
feature_names_out字符串对象的ndarray

与输入特征相同。

get_metadata_routing()#

获取此对象的元数据路由。

请查看 用户指南 以了解路由机制的工作原理。

Returns:
routingMetadataRequest

MetadataRequest 封装的 路由信息。

get_params(deep=True)#

获取此估计器的参数。

Parameters:
deepbool, 默认=True

如果为True,将返回此估计器和包含的子对象(也是估计器)的参数。

Returns:
paramsdict

参数名称映射到它们的值。

inverse_transform(X)#

撤销根据feature_range对X进行的缩放。

Parameters:
X形状为 (n_samples, n_features) 的类数组

将要被转换的输入数据。它不能是稀疏的。

Returns:
Xt形状为 (n_samples, n_features) 的 ndarray

转换后的数据。

partial_fit(X, y=None)#

在线计算X的最小值和最大值以便后续缩放。

所有X被作为一个批次处理。这适用于由于非常大的 n_samples 数量或因为X是从连续流中读取而导致无法使用:meth:fit 的情况。

Parameters:
Xarray-like of shape (n_samples, n_features)

用于计算特征轴上后续缩放所需的均值和标准差的数据。

yNone

忽略。

Returns:
selfobject

拟合的缩放器。

set_output(*, transform=None)#

设置输出容器。

请参阅 介绍 set_output API 以了解如何使用API的示例。

Parameters:
transform{“default”, “pandas”, “polars”}, 默认=None

配置 transformfit_transform 的输出。

  • "default" : 转换器的默认输出格式

  • "pandas" : DataFrame 输出

  • "polars" : Polars 输出

  • None : 转换配置不变

Added in version 1.4: "polars" 选项已添加。

Returns:
self估计器实例

估计器实例。

set_params(**params)#

设置此估计器的参数。

该方法适用于简单估计器以及嵌套对象(例如 Pipeline )。后者具有形式为 <component>__<parameter> 的参数,以便可以更新嵌套对象的每个组件。

Parameters:
**paramsdict

估计器参数。

Returns:
selfestimator instance

估计器实例。

transform(X)#

缩放X的特征根据feature_range。

Parameters:
Xarray-like of shape (n_samples, n_features)

将要被转换的输入数据。

Returns:
Xtndarray of shape (n_samples, n_features)

转换后的数据。