Scales the numeric data columns so their maximum absolute value is maxabs, if possible. NA, Inf are ignored, and features that are constant 0 are not scaled.

Format

R6Class object inheriting from PipeOpTaskPreprocSimple/PipeOpTaskPreproc/PipeOp.

Construction

PipeOpScaleMaxAbs$new(id = "scalemaxabs", param_vals = list())
  • id :: character(1)
    Identifier of resulting object, default "scalemaxabs".

  • param_vals :: named list
    List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default list().

Input and Output Channels

Input and output channels are inherited from PipeOpTaskPreproc.

The output is the input Task with scaled numeric features.

State

The $state is a named list with the $state elements inherited from PipeOpTaskPreproc, as well as the maximum absolute values of each numeric feature.

Parameters

The parameters are the parameters inherited from PipeOpTaskPreproc, as well as:

  • maxabs :: numeric(1)
    The maximum absolute value for each column after transformation. Default is 1.

Methods

Only methods inherited from PipeOpTaskPreprocSimple/PipeOpTaskPreproc/PipeOp.

See also

Examples

library("mlr3") task = tsk("iris") pop = po("scalemaxabs") task$data()
#> Species Petal.Length Petal.Width Sepal.Length Sepal.Width #> 1: setosa 1.4 0.2 5.1 3.5 #> 2: setosa 1.4 0.2 4.9 3.0 #> 3: setosa 1.3 0.2 4.7 3.2 #> 4: setosa 1.5 0.2 4.6 3.1 #> 5: setosa 1.4 0.2 5.0 3.6 #> --- #> 146: virginica 5.2 2.3 6.7 3.0 #> 147: virginica 5.0 1.9 6.3 2.5 #> 148: virginica 5.2 2.0 6.5 3.0 #> 149: virginica 5.4 2.3 6.2 3.4 #> 150: virginica 5.1 1.8 5.9 3.0
pop$train(list(task))[[1]]$data()
#> Species Petal.Length Petal.Width Sepal.Length Sepal.Width #> 1: setosa 0.2028986 0.08 0.6455696 0.7954545 #> 2: setosa 0.2028986 0.08 0.6202532 0.6818182 #> 3: setosa 0.1884058 0.08 0.5949367 0.7272727 #> 4: setosa 0.2173913 0.08 0.5822785 0.7045455 #> 5: setosa 0.2028986 0.08 0.6329114 0.8181818 #> --- #> 146: virginica 0.7536232 0.92 0.8481013 0.6818182 #> 147: virginica 0.7246377 0.76 0.7974684 0.5681818 #> 148: virginica 0.7536232 0.80 0.8227848 0.6818182 #> 149: virginica 0.7826087 0.92 0.7848101 0.7727273 #> 150: virginica 0.7391304 0.72 0.7468354 0.6818182
pop$state
#> $Petal.Length #> [1] 6.9 #> #> $Petal.Width #> [1] 2.5 #> #> $Sepal.Length #> [1] 7.9 #> #> $Sepal.Width #> [1] 4.4 #> #> $dt_columns #> [1] "Petal.Length" "Petal.Width" "Sepal.Length" "Sepal.Width" #> #> $affected_cols #> [1] "Petal.Length" "Petal.Width" "Sepal.Length" "Sepal.Width" #> #> $intasklayout #> id type #> 1: Petal.Length numeric #> 2: Petal.Width numeric #> 3: Sepal.Length numeric #> 4: Sepal.Width numeric #> #> $outtasklayout #> id type #> 1: Petal.Length numeric #> 2: Petal.Width numeric #> 3: Sepal.Length numeric #> 4: Sepal.Width numeric #>