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)#
拟合数据,然后进行转换。
将转换器拟合到
X
和y
,并带有可选参数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_features
是None
,则使用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
配置
transform
和fit_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)
转换后的数据。