mars.learn.preprocessing.minmax_scale#
- mars.learn.preprocessing.minmax_scale(X, feature_range=(0, 1), *, axis=0, copy=True, 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.- Parameters
- Returns
X_tr (ndarray of shape (n_samples, n_features)) – 转换后的数据。
.. warning:: 数据泄露风险 – 除非你知道自己在做什么,否则不要使用
minmax_scale()。一个常见的错误是对整个数据集应用它 在 分割成训练集和测试集之前。这会导致模型评估偏差,因为信息会从测试集泄露到训练集中。 通常,我们建议在 Pipeline 中使用MinMaxScaler以避免大多数数据泄露风险: pipe = make_pipeline(MinMaxScaler(), LogisticRegression())。
另请参阅
MinMaxScaler使用 Transformer API 执行缩放到给定范围(例如,作为预处理
Pipeline的一部分)。
备注
有关不同缩放器、转换器和归一化器的比较,请参阅 examples/preprocessing/plot_all_scaling.py。