Wraps an mlr3::Learner into a PipeOp.
Inherits the $param_set (and therefore $param_set$values) from the Learner it is constructed from.
Using PipeOpLearner, it is possible to embed mlr3::Learners into Graphs, which themselves can be
turned into Learners using GraphLearner. This way, preprocessing and ensemble methods can be included
into a machine learning pipeline which then can be handled as singular object for resampling, benchmarking
and tuning.
Construction
learner::Learner|character(1)Learnerto wrap, or a string identifying aLearnerin themlr3::mlr_learnersDictionary. This argument is always cloned; to access theLearnerinsidePipeOpLearnerby-reference, use$learner.id::character(1)
Identifier of the resulting object, internally defaulting to theidof theLearnerbeing wrapped.param_vals:: namedlist
List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Defaultlist().
Input and Output Channels
PipeOpLearner has one input channel named "input", taking a Task specific to the Learner
type given to learner during construction; both during training and prediction.
PipeOpLearner has one output channel named "output", producing NULL during training and a Prediction subclass
during prediction; this subclass is specific to the Learner type given to learner during construction.
The output during prediction is the Prediction on the prediction input data, produced by the Learner
trained on the training input data.
State
The $state is set to the $state slot of the Learner object. It is a named list with members:
model::any
Model created by theLearner's$.train()function.train_log::data.tablewith columnsclass(character),msg(character)
Errors logged during training.train_time::numeric(1)
Training time, in seconds.predict_log::NULL|data.tablewith columnsclass(character),msg(character)
Errors logged during prediction.predict_time::NULL|numeric(1)Prediction time, in seconds.
Parameters
The parameters are exactly the parameters of the Learner wrapped by this object.
Internals
The $state is currently not updated by prediction, so the $state$predict_log and $state$predict_time will always be NULL.
Fields
Fields inherited from PipeOp, as well as:
learner_model::LearnerLearnerthat is being wrapped. This learner contains the model if thePipeOpis trained. Read-only.validate::"predefined"orNULL
This field can only be set forLearners that have the"validation"property. Setting the field to"predefined"means that the wrappedLearnerwill use the internal validation task, otherwise it will be ignored. Note that specifying how the validation data is created is possible via the$validatefield of theGraphLearner. For eachPipeOpit is then only possible to either use it ("predefined") or not use it (NULL). Also seeset_validate.GraphLearnerfor more information.internal_tuned_values:: namedlist()orNULL
The internally tuned values if the wrappedLearnersupports internal tuning,NULLotherwise.internal_valid_scores:: namedlist()orNULL
The internal validation scores if the wrappedLearnersupports internal validation,NULLotherwise.
Methods
Methods inherited from PipeOp.
See also
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_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_updatetarget,
mlr_pipeops_vtreat,
mlr_pipeops_yeojohnson
Other Meta PipeOps:
mlr_pipeops_learner_cv,
mlr_pipeops_learner_pi_cvplus,
mlr_pipeops_learner_quantiles
Examples
library("mlr3")
task = tsk("iris")
learner = lrn("classif.rpart", cp = 0.1)
lrn_po = mlr_pipeops$get("learner", learner)
lrn_po$train(list(task))
#> $output
#> NULL
#>
lrn_po$predict(list(task))
#> $output
#>
#> ── <PredictionClassif> for 150 observations: ───────────────────────────────────
#> row_ids truth response
#> 1 setosa setosa
#> 2 setosa setosa
#> 3 setosa setosa
#> --- --- ---
#> 148 virginica virginica
#> 149 virginica virginica
#> 150 virginica virginica
#>
