| mlr_pipeops_updatetarget | R Documentation |
FOR INTERNAL USE IN MLR3ORDINAL ONLY! EXPERIMENTAL, API SUBJECT TO CHANGE
Handles target transformation operations that do not need explicit inversion.
In case the new target is required during predict, creates a vector of NA.
Works similar to PipeOpTargetTrafo and
PipeOpTargetMutate, but forgoes the
inversion step.
In case target after the trafo is a factor, levels are saved to $state.
During prediction: Sets all target values to NA before calling the trafo again.
In case target after the trafo is a factor, levels saved in the state are
set during prediction.
As a special case when trafo is identity and new_target_name matches an existing column
name of the data of the input Task, this column is set as the new target. Depending on
drop_original_target the original target is then either dropped or added to the features.
Abstract R6Class inheriting from PipeOp.
PipeOpUpdateTarget$new(id, param_set = ParamSet$new(), param_vals = list(), packages = character(0))
id :: character(1)
Identifier of resulting object. See $id slot of PipeOp.
param_vals :: named list
List of hyperparameter settings, overwriting the hyperparameter settings given in param_set.
The subclass should have its own param_vals parameter and pass it on to super$initialize().
Default list().
The parameters are the parameters inherited from PipeOpTargetTrafo, as well as:
trafo :: function
Transformation function for the target. Should only be a function of the target, i.e., taking a
single argument. Default is identity.
Note, that the data passed on to the target is a data.table consisting of all target column.
new_target_name :: character(1)
Optionally give the transformed target a new name. By default the original name is used.
new_task_type :: character(1)
Optionally a new task type can be set. Legal types are listed in
mlr_reflections$task_types$type.
#' drop_original_target :: logical(1)
Whether to drop the original target column. Default: TRUE.
The $state is a list of class levels for each target after trafo.
list() if none of the targets have levels.
Only methods inherited from PipeOp.
Other PipeOps:
mlr_pipeop_ordinalclassif,
mlr_pipeop_ordinalregr
## Not run:
# Create a binary class task from iris
library(mlr3)
trafo_fun = function(x) {factor(ifelse(x$Species == "setosa", "setosa", "other"))}
po = PipeOpUpdateTarget$new(param_vals = list(trafo = trafo_fun, new_target_name = "setosa"))
po$train(list(tsk("iris")))
po$predict(list(tsk("iris")))
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.