Linearly transforms a numeric target of a TaskRegr
so it is between lower
and upper
. The formula for this is \(x' = offset + x * scale\),
where \(scale\) is \((upper - lower) / (max(x) - min(x))\) and
\(offset\) is \(-min(x) * scale + lower\). The same transformation is applied during training and
prediction.
R6Class
object inheriting from PipeOpTargetTrafo
/PipeOp
PipeOpTargetTrafoScaleRange$new(id = "targettrafoscalerange", param_vals = list())
id
:: character(1)
Identifier of resulting object, default "targettrafoscalerange"
.
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 are inherited from PipeOpTargetTrafo
.
The $state
is a named list
containing the slots $offset
and $scale
.
The parameters are the parameters inherited from PipeOpTargetTrafo
, as well as:
lower
:: numeric(1)
Target value of smallest item of input target. Initialized to 0.
upper
:: numeric(1)
Target value of greatest item of input target. Initialized to 1.
Overloads PipeOpTargetTrafo
's .get_state()
, .transform()
, and
.invert()
. Should be used in combination with PipeOpTargetInvert
.
Only methods inherited from PipeOpTargetTrafo
/PipeOp
.
Other PipeOps:
PipeOpEnsemble
,
PipeOpImpute
,
PipeOpTargetTrafo
,
PipeOpTaskPreprocSimple
,
PipeOpTaskPreproc
,
PipeOp
,
mlr_pipeops_boxcox
,
mlr_pipeops_branch
,
mlr_pipeops_chunk
,
mlr_pipeops_classbalancing
,
mlr_pipeops_classifavg
,
mlr_pipeops_classweights
,
mlr_pipeops_colapply
,
mlr_pipeops_collapsefactors
,
mlr_pipeops_colroles
,
mlr_pipeops_copy
,
mlr_pipeops_datefeatures
,
mlr_pipeops_encodeimpact
,
mlr_pipeops_encodelmer
,
mlr_pipeops_encode
,
mlr_pipeops_featureunion
,
mlr_pipeops_filter
,
mlr_pipeops_fixfactors
,
mlr_pipeops_histbin
,
mlr_pipeops_ica
,
mlr_pipeops_imputeconstant
,
mlr_pipeops_imputehist
,
mlr_pipeops_imputelearner
,
mlr_pipeops_imputemean
,
mlr_pipeops_imputemedian
,
mlr_pipeops_imputemode
,
mlr_pipeops_imputeoor
,
mlr_pipeops_imputesample
,
mlr_pipeops_kernelpca
,
mlr_pipeops_learner
,
mlr_pipeops_missind
,
mlr_pipeops_modelmatrix
,
mlr_pipeops_multiplicityexply
,
mlr_pipeops_multiplicityimply
,
mlr_pipeops_mutate
,
mlr_pipeops_nmf
,
mlr_pipeops_nop
,
mlr_pipeops_ovrsplit
,
mlr_pipeops_ovrunite
,
mlr_pipeops_pca
,
mlr_pipeops_proxy
,
mlr_pipeops_quantilebin
,
mlr_pipeops_randomprojection
,
mlr_pipeops_randomresponse
,
mlr_pipeops_regravg
,
mlr_pipeops_removeconstants
,
mlr_pipeops_renamecolumns
,
mlr_pipeops_replicate
,
mlr_pipeops_scalemaxabs
,
mlr_pipeops_scalerange
,
mlr_pipeops_scale
,
mlr_pipeops_select
,
mlr_pipeops_smote
,
mlr_pipeops_spatialsign
,
mlr_pipeops_subsample
,
mlr_pipeops_targetinvert
,
mlr_pipeops_targetmutate
,
mlr_pipeops_textvectorizer
,
mlr_pipeops_threshold
,
mlr_pipeops_tunethreshold
,
mlr_pipeops_unbranch
,
mlr_pipeops_updatetarget
,
mlr_pipeops_vtreat
,
mlr_pipeops_yeojohnson
,
mlr_pipeops
library(mlr3) task = tsk("boston_housing") po = PipeOpTargetTrafoScaleRange$new() po$train(list(task))#> $fun #> NULL #> #> $output #> <TaskRegr:boston_housing> (506 x 19) #> * Target: medv.scaled #> * Properties: - #> * Features (18): #> - dbl (13): age, b, cmedv, crim, dis, indus, lat, lon, lstat, nox, #> ptratio, rm, zn #> - int (3): rad, tax, tract #> - fct (2): chas, town #>#> $fun #> function (inputs) #> { #> assert_list(inputs, len = 1L, types = "Prediction") #> list(private$.invert(inputs[[1L]], predict_phase_state)) #> } #> <bytecode: 0x55c62ff21148> #> <environment: 0x55c6341dbee0> #> #> $output #> <TaskRegr:boston_housing> (506 x 19) #> * Target: medv.scaled #> * Properties: - #> * Features (18): #> - dbl (13): age, b, cmedv, crim, dis, indus, lat, lon, lstat, nox, #> ptratio, rm, zn #> - int (3): rad, tax, tract #> - fct (2): chas, town #>#syntactic sugar for a graph using ppl(): ttscalerange = ppl("targettrafo", trafo_pipeop = PipeOpTargetTrafoScaleRange$new(), graph = PipeOpLearner$new(LearnerRegrRpart$new())) ttscalerange$train(task)#> $targetinvert.output #> NULL #>ttscalerange$predict(task)#> $targetinvert.output #> <PredictionRegr> for 506 observations: #> row_id truth response #> 1 24.0 23.72519 #> 2 21.6 19.55954 #> 3 34.7 35.10312 #> --- #> 504 23.9 23.72519 #> 505 22.0 23.72519 #> 506 11.9 19.55954 #>ttscalerange$state$regr.rpart#> $model #> n= 506 #> #> node), split, n, deviance, yval #> * denotes terminal node #> #> 1) root 506 21.09447000 0.38961790 #> 2) cmedv< 27.7 400 4.76453900 0.30601110 #> 4) cmedv< 17.35 134 0.62918150 0.17794360 #> 8) cmedv< 11.95 42 0.07619577 0.09190476 * #> 9) cmedv>=11.95 92 0.10013460 0.21722220 * #> 5) cmedv>=17.35 266 0.83043740 0.37052630 #> 10) cmedv< 21.65 131 0.11194840 0.32354540 * #> 11) cmedv>=21.65 135 0.14876760 0.41611520 * #> 3) cmedv>=27.7 106 2.98279700 0.70511530 #> 6) cmedv< 39.25 74 0.31924910 0.60438440 #> 12) cmedv< 32.6 42 0.03997942 0.55518520 * #> 13) cmedv>=32.6 32 0.04417269 0.66895830 * #> 7) cmedv>=39.25 32 0.17633330 0.93805560 * #> #> $log #> Empty data.table (0 rows and 3 cols): stage,class,msg #> #> $train_time #> [1] 0.012 #> #> $train_task #> <TaskRegr:boston_housing> (0 x 19) #> * Target: medv.scaled #> * Properties: - #> * Features (18): #> - dbl (13): age, b, cmedv, crim, dis, indus, lat, lon, lstat, nox, #> ptratio, rm, zn #> - int (3): rad, tax, tract #> - fct (2): chas, town #>