| mlr_pipeops_targetmutate | R Documentation |
Changes the target of a Task according to a function given as hyperparameter.
An inverter-function that undoes the transformation during prediction must also be given.
R6Class object inheriting from PipeOpTargetTrafo/PipeOp
PipeOpTargetMutate$new(id = "targetmutate", param_vals = list(), new_task_type = NULL)
id :: character(1)
Identifier of resulting object, default "targetmutate".
param_vals :: named list
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise
be set during construction. Default list().
new_task_type :: character(1) | NULL
The task type to which the output is converted, must be one of mlr_reflections$task_types$type.
Defaults to NULL: no change in task type.
Input and output channels are inherited from PipeOpTargetTrafo.
The $state is left empty (list()).
The parameters are the parameters inherited from PipeOpTargetTrafo, as well as:
trafo :: function data.table -> data.frame | data.table | matrix
Transformation function for the target. Should only be a function of the target, i.e., taking a
single data.table argument, typically with one column. The return value is used as the new
target of the resulting Task. To change target names, change the column name of the data
using e.g. setnames().
Note that this function also gets called during prediction and should thus gracefully handle NA values.
Initialized to identity().
inverter :: function data.table -> data.table | named list
Inversion of the transformation function for the target. Called on a data.table created from a Prediction
using as.data.table(), without the $row_ids and $truth columns,
and should return a data.table or named list that contains the new relevant slots of a
Prediction subclass (e.g., $response, $prob, $se, ...). Initialized to identity().
Overloads PipeOpTargetTrafo's .transform() and
.invert() functions. Should be used in combination with PipeOpTargetInvert.
Fields inherited from PipeOp, as well as:
new_task_type :: character(1)
new_task_type construction argument. Read-only.
Only methods inherited from PipeOpTargetTrafo/PipeOp.
https://mlr-org.com/pipeops.html
Other PipeOps:
PipeOp,
PipeOpEncodePL,
PipeOpEnsemble,
PipeOpImpute,
PipeOpTargetTrafo,
PipeOpTaskPreproc,
PipeOpTaskPreprocSimple,
mlr_pipeops,
mlr_pipeops_adas,
mlr_pipeops_blsmote,
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_decode,
mlr_pipeops_encode,
mlr_pipeops_encodeimpact,
mlr_pipeops_encodelmer,
mlr_pipeops_encodeplquantiles,
mlr_pipeops_encodepltree,
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_learner_pi_cvplus,
mlr_pipeops_learner_quantiles,
mlr_pipeops_missind,
mlr_pipeops_modelmatrix,
mlr_pipeops_multiplicityexply,
mlr_pipeops_multiplicityimply,
mlr_pipeops_mutate,
mlr_pipeops_nearmiss,
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_rowapply,
mlr_pipeops_scale,
mlr_pipeops_scalemaxabs,
mlr_pipeops_scalerange,
mlr_pipeops_select,
mlr_pipeops_smote,
mlr_pipeops_smotenc,
mlr_pipeops_spatialsign,
mlr_pipeops_subsample,
mlr_pipeops_targetinvert,
mlr_pipeops_targettrafoscalerange,
mlr_pipeops_textvectorizer,
mlr_pipeops_threshold,
mlr_pipeops_tomek,
mlr_pipeops_tunethreshold,
mlr_pipeops_unbranch,
mlr_pipeops_updatetarget,
mlr_pipeops_vtreat,
mlr_pipeops_yeojohnson
library(mlr3)
task = tsk("boston_housing")
po = PipeOpTargetMutate$new("logtrafo", param_vals = list(
trafo = function(x) log(x, base = 2),
inverter = function(x) list(response = 2 ^ x$response))
)
# Note that this example is ill-equipped to work with
# `predict_type == "se"` predictions.
po$train(list(task))
po$predict(list(task))
g = Graph$new()
g$add_pipeop(po)
g$add_pipeop(LearnerRegrRpart$new())
g$add_pipeop(PipeOpTargetInvert$new())
g$add_edge(src_id = "logtrafo", dst_id = "targetinvert",
src_channel = 1, dst_channel = 1)
g$add_edge(src_id = "logtrafo", dst_id = "regr.rpart",
src_channel = 2, dst_channel = 1)
g$add_edge(src_id = "regr.rpart", dst_id = "targetinvert",
src_channel = 1, dst_channel = 2)
g$train(task)
g$predict(task)
#syntactic sugar using ppl():
tt = ppl("targettrafo", graph = PipeOpLearner$new(LearnerRegrRpart$new()))
tt$param_set$values$targetmutate.trafo = function(x) log(x, base = 2)
tt$param_set$values$targetmutate.inverter = function(x) list(response = 2 ^ x$response)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.