mars.learn.preprocessing.MinMaxScaler#

class mars.learn.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。

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

用户指南中阅读更多内容。

Parameters
  • feature_range (tuple (min, max), default=(0, 1)) – 期望的转换数据范围。

  • copy (bool, default=True) – 设置为 False 以执行就地行规范化并避免复制(如果输入已经是 numpy 数组)。

  • clip (bool, default=False) – 设置为 True,以将保留数据的转换值限制在提供的 特征范围 内。

min_#

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

Type

形状为 (n_features,) 的张量

scale_#

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

Type

形状为 (n_features,) 的张量

data_min_#

在数据中看到的每个特征的最小值

Type

形状为 (n_features,) 的ndarray

data_max_#

数据中看到的每个特征的最大值

Type

形状为 (n_features,) 的 ndarray

data_range_#

每个特征范围 (data_max_ - data_min_) 在数据中看到

Type

形状为 (n_features,) 的 ndarray

n_samples_seen_#

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

Type

int

示例

>>> from mars.learn.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. ]]

另请参阅

minmax_scale

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

备注

NaNs被视为缺失值:在拟合中被忽略,在变换中保持。

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

__init__(feature_range=(0, 1), copy=True, clip=False)[来源]#

方法

__init__([特征范围, 复制, 剪裁])

fit(X[, y, session, run_kwargs])

计算后续缩放所需的最小值和最大值。

fit_transform(X[, y])

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

get_params([deep])

获取该估计器的参数。

inverse_transform(X[, 会话, 运行参数])

根据 feature_range 撤销 X 的缩放。

partial_fit(X[, y, session, run_kwargs])

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

set_params(**params)

设置此估计器的参数。

transform(X[, session, run_kwargs])

根据 feature_range 缩放 X 的特征。