maxframe.learn.preprocessing.minmax_scale#
- maxframe.learn.preprocessing.minmax_scale(X, feature_range=(0, 1), *, axis=0, copy=True, validate=True, execute=False, session=None, run_kwargs=None)[源代码]#
通过将每个特征缩放到给定范围来变换特征。
此估计器独立地缩放和平移每个特征,使其在训练集上的取值范围为给定区间,即在零和一之间。
变换公式如下(当
axis=0时):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。
变换计算方式如下(当
axis=0时):X_scaled = scale * X + min - X.min(axis=0) * scale where scale = (max - min) / (X.max(axis=0) - X.min(axis=0))
这种变换通常用作零均值、单位方差缩放的替代方法。
更多内容请参见 用户指南。
在 0.17 版本加入: minmax_scale 函数接口对应于
MinMaxScaler。- 参数:
- 返回:
X_tr (ndarray of shape (n_samples, n_features)) -- 变换后的数据。
.. 警告:: 数据泄露风险 -- 除非你知道自己在做什么,否则不要使用
minmax_scale()。一个常见的错误是在将数据拆分为训练集和测试集 之前 应用它。这会导致模型评估产生偏差,因为信息会从测试集泄露到训练集中。通常,我们建议在 Pipeline 中使用MinMaxScaler来防止大多数数据泄露风险:pipe = make_pipeline(MinMaxScaler(), LogisticRegression())。
参见
MinMaxScaler使用 Transformer API 执行给定范围的缩放(例如作为预处理
Pipeline的一部分)。
备注
有关不同缩放器、变换器和归一化器的比较,请参见 examples/preprocessing/plot_all_scaling.py。