maxframe.learn.preprocessing.MinMaxScaler#
- class maxframe.learn.preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True, clip=False, validate=True)[源代码]#
通过将每个特征缩放到给定范围来转换特征。
该估计器单独缩放和平移每个特征,使其在训练集上的取值处于给定范围内,例如在0和1之间。
变换公式如下:
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。
这种变换通常作为零均值、单位方差缩放的替代方法。
更多内容请参见 用户指南。
- 参数:
- min_#
每个特征的最小值调整。等价于
min - X.min(axis=0) * self.scale_- 类型:
形状为 (n_features,) 的张量
- scale_#
每个特征数据的相对缩放。等价于
(max - min) / (X.max(axis=0) - X.min(axis=0))- 类型:
形状为 (n_features,) 的张量
- data_min_#
数据中每个特征的最小值
- 类型:
形状为 (n_features,) 的 ndarray
- data_max_#
数据中每个特征的最大值
- 类型:
形状为 (n_features,) 的 ndarray
- data_range_#
数据中每个特征的范围
(data_max_ - data_min_)- 类型:
形状为 (n_features,) 的 ndarray
- n_samples_seen_#
估计器处理的样本数。在新的 fit 调用时会重置,但在
partial_fit调用之间会递增。- 类型:
整数
示例
>>> from maxframe.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 的等效函数。
备注
NaN 被视为缺失值:在 fit 中忽略,在 transform 中保留。
有关不同缩放器、变换器和归一化器的比较,请参见 examples/preprocessing/plot_all_scaling.py。
方法
__init__([feature_range, copy, clip, validate])execute([session, run_kwargs, extra_tileables])fetch([session, run_kwargs])fit(X[, y, execute, session, run_kwargs])计算用于后续缩放的最小值和最大值。
fit_transform(X[, y])拟合数据,然后对其进行转换。
inverse_transform(X[, execute, session, ...])根据 feature_range 对 X 进行反向缩放。
partial_fit(X[, y, execute, session, run_kwargs])对 X 在线计算最小值和最大值以供后续缩放使用。
transform(X[, execute, session, run_kwargs])根据 feature_range 缩放 X 的特征。