ray.data.预处理器.MinMaxScaler#
- class ray.data.preprocessors.MinMaxScaler(columns: List[str])[源代码]#
基类:
Preprocessor按其范围缩放每一列。
一般公式由以下给出
\[x' = \frac{x - \min(x)}{\max{x} - \min{x}}\]其中 \(x\) 是列,\(x'\) 是变换后的列。如果 :math:`max{x} - min{x} = 0`(即,该列是常数值),则变换后的列将被填充为零。
转换后的值总是在范围 \([0, 1]\) 内。
小技巧
这可以作为
StandardScaler的替代方案。示例
>>> import pandas as pd >>> import ray >>> from ray.data.preprocessors import MinMaxScaler >>> >>> df = pd.DataFrame({"X1": [-2, 0, 2], "X2": [-3, -3, 3], "X3": [1, 1, 1]}) # noqa: E501 >>> ds = ray.data.from_pandas(df) >>> ds.to_pandas() X1 X2 X3 0 -2 -3 1 1 0 -3 1 2 2 3 1
列是分别缩放的。
>>> preprocessor = MinMaxScaler(columns=["X1", "X2"]) >>> preprocessor.fit_transform(ds).to_pandas() X1 X2 X3 0 0.0 0.0 1 1 0.5 0.0 1 2 1.0 1.0 1
常量值列会被填充为零。
>>> preprocessor = MinMaxScaler(columns=["X3"]) >>> preprocessor.fit_transform(ds).to_pandas() X1 X2 X3 0 -2 -3 0.0 1 0 -3 0.0 2 2 3 0.0
- 参数:
columns – 要单独缩放的列。
PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。
方法
加载通过
self.serialize()序列化的原始预处理器。将此预处理器适配到数据集。
将此预处理器适配到数据集,然后转换数据集。
上游生产者批量格式提示,尝试生成最佳区块格式。
将此预处理器序列化为字符串返回。
转换给定的数据集。
转换单个批次的数据。