sklearn.preprocessing.MinMaxScaler

class sklearn.preprocessing.MinMaxScaler(feature_range=(01), *, copy=True)

通过将每个要素缩放到给定范围来变换要素。

该估计器分别缩放和转换每个特征,以使其在训练集上处于给定范围内,例如介于零和一之间。

转换方式为:

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

最小,最大= feature_range。

此变换通常用作零均值,单位方差缩放的替代方法。

阅读更多内容参见用户指南

参数 说明
feature_range tuple (min, max), default=(0, 1)
所需的转换数据范围。
copy bool, default=True
设置为False可以执行就地行规范化并避免复制(如果输入已经是numpy数组)。
属性 说明
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))
0.17版中的新功能:scale_属性。
data_min_ ndarray of shape (n_features,)
数据中显示的每个功能最小值
0.17版中的新功能:data_min_
data_range_ ndarray of shape (n_features,)
数据中看到的每个要素范围(data_max_-data_min_)
0.17版中的新功能:data_range_
n_samples_seen_ int
估计器处理的样本数。它将在新的调用中重置为fit,但会在partial_fit调用中递增。

另见:

minmax_scale

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

注释

NaN被视为缺失值:忽略适合度,并保持变换值。

有关不同缩放器,转换器和规范化器的比较,请参阅examples/preprocessing/plot_all_scaling.py

示例

>>> from sklearn.preprocessing import MinMaxScaler
>>> data = [[-12], [-0.56], [010], [118]]
>>> 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([[22]]))
[[1.5 0. ]]

方法

方法 说明
fit(X[, y]) 计算用于以后缩放的最小值和最大值。
fit_transform(X[, y]) 拟合数据,然后对其进行转换。
get_params([deep]) 获取此估计量的参数。
inverse_transform(X) 根据feature_range撤消X的缩放比例。
partial_fit(X[, y]) 在线计算X上的最小值和最大值,以便以后缩放。
set_params(**params) 设置此估算器的参数。
transform(X) 根据feature_range缩放X的要素。
__init__(feature_range=(01), *, copy=True)

[源码]

初始化self,有关准确的签名,请参见help(type(self))。

fit(X, y=None)

[源码]

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

参数 说明
X array-like of shape (n_samples, n_features)
该数据用于计算每个特征的最小值和最大值,以用于以后沿特征轴缩放。
y None
忽略。
返回值 说明
self object
合适的定标器。
fit_transform(X, y=None, **fit_params)

[源码]

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

使用可选参数fit_params将转换器拟合到X和y,并返回X的转换版本。

参数 说明
X {array-like, sparse matrix, dataframe} of shape (n_samples, n_features)
y ndarray of shape (n_samples,), default=None
目标值。
**fit_params dict
其他拟合参数。
返回值 说明
X_new ndarray array of shape (n_samples, n_features_new)
转换后的数组。
get_params(deep=True)

[源码]

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和作为估算器的所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
inverse_transform(X)

[源码]

根据feature_range撤消X的缩放比例。

参数 说明
X array-like of shape (n_samples, n_features)
输入将要转换的数据。不能稀疏。
返回值 说明
Xt array-like of shape (n_samples, n_features)
转换后的数据。
partial_fit(X, y=None)

[源码]

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

所有X都作为一个批处理。这适用于由于n_sample数量过多或从连续流中读取X而无法进行拟合的情况。

参数 说明
X array-like of shape (n_samples, n_features)
该数据用于计算每个特征的最小值和最大值,以用于以后沿特征轴缩放。
y None
忽略。
返回值 说明
self object
合适的定标器。
set_params(**params)

[源码]

设置此估算器的参数。

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

参数 说明
**params dict
估算器参数。
返回值 说明
self object
合适的定标器。
transform(X)

[源码]

根据feature_range缩放X的要素。

参数 说明
X array-like of shape (n_samples, n_features)
输入将要转换的数据。不能稀疏。
返回值 说明
Xt array-like of shape (n_samples, n_features)
转换后的数据。