
Transform a Target without an Explicit Inversion
Source:R/PipeOpTrafo.R
mlr_pipeops_updatetarget.RdEXPERIMENTAL, 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.
Construction
id::character(1)
Identifier of resulting object. See$idslot ofPipeOp.param_vals:: namedlist
List of hyperparameter settings, overwriting the hyperparameter settings given inparam_set. The subclass should have its ownparam_valsparameter and pass it on tosuper$initialize(). Defaultlist().
Parameters
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 isidentity. Note, that the data passed on to the target is adata.tableconsisting 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 inmlr_reflections$task_types$type. #'drop_original_target::logical(1)
Whether to drop the original target column. Default:TRUE.
State
The $state is a list of class levels for each target after trafo.
list() if none of the targets have levels.
Fields
Only fields inherited from PipeOp.
Methods
Only methods inherited from PipeOp.
See also
https://mlr-org.com/pipeops.html
Other mlr3pipelines backend related:
Graph,
PipeOp,
PipeOpTargetTrafo,
PipeOpTaskPreproc,
PipeOpTaskPreprocSimple,
mlr_graphs,
mlr_pipeops
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_targetmutate,
mlr_pipeops_targettrafoscalerange,
mlr_pipeops_textvectorizer,
mlr_pipeops_threshold,
mlr_pipeops_tomek,
mlr_pipeops_tunethreshold,
mlr_pipeops_unbranch,
mlr_pipeops_vtreat,
mlr_pipeops_yeojohnson
Examples
if (FALSE) { # \dontrun{
# 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")))
} # }