Skip to contents

Create

  • a PipeOp from mlr_pipeops from given ID

  • a PipeOpLearner from a Learner object

  • a PipeOpFilter from a Filter object

  • a PipeOpSelect from a Selector object

  • a clone of a PipeOp from a given PipeOp (possibly with changed settings)

The object is initialized with given parameters and param_vals.

po() taks a single obj (PipeOp id, Learner, ...) and converts it to a PipeOp. pos() (with plural-s) takes either a character-vector, or a list of objects, and creates a list of PipeOps.

Usage

po(.obj, ...)

pos(.objs, ...)

Arguments

.obj

[any]
The object from which to construct a PipeOp. If this is a character(1), it is looked up in the mlr_pipeops dictionary. Otherwise, it is converted to a PipeOp.

...

any
Additional parameters to give to constructed object. This may be an argument of the constructor of the PipeOp, in which case it is given to this constructor; or it may be a parameter value, in which case it is given to the param_vals argument of the constructor.

.objs

character | list
Either a character of PipeOps to look up in mlr_pipeops, or a list of other objects to be converted to a PipeOp. If this is a named list, then the names are used as $id slot for the resulting PipeOps.

Value

A PipeOp (for po()), or a list of PipeOps (for pos()).

Examples

library("mlr3")

po("learner", lrn("classif.rpart"), cp = 0.3)
#> 
#> ── PipeOp <classif.rpart>: not trained ─────────────────────────────────────────
#> Values: cp=0.3, xval=0
#> 
#> ── Input channels: 
#>    name       train     predict
#>  <char>      <char>      <char>
#>   input TaskClassif TaskClassif
#> 
#> ── Output channels: 
#>    name  train           predict
#>  <char> <char>            <char>
#>  output   NULL PredictionClassif

po(lrn("classif.rpart"), cp = 0.3)
#> 
#> ── PipeOp <classif.rpart>: not trained ─────────────────────────────────────────
#> Values: cp=0.3, xval=0
#> 
#> ── Input channels: 
#>    name       train     predict
#>  <char>      <char>      <char>
#>   input TaskClassif TaskClassif
#> 
#> ── Output channels: 
#>    name  train           predict
#>  <char> <char>            <char>
#>  output   NULL PredictionClassif

# is equivalent with:
mlr_pipeops$get("learner", lrn("classif.rpart"),
  param_vals = list(cp = 0.3))
#> 
#> ── PipeOp <classif.rpart>: not trained ─────────────────────────────────────────
#> Values: cp=0.3, xval=0
#> 
#> ── Input channels: 
#>    name       train     predict
#>  <char>      <char>      <char>
#>   input TaskClassif TaskClassif
#> 
#> ── Output channels: 
#>    name  train           predict
#>  <char> <char>            <char>
#>  output   NULL PredictionClassif

mlr3pipelines::pos(c("pca", original = "nop"))
#> $pca
#> 
#> ── PipeOp <pca>: not trained ───────────────────────────────────────────────────
#> Values: list()
#> 
#> ── Input channels: 
#>    name  train predict
#>  <char> <char>  <char>
#>   input   Task    Task
#> 
#> ── Output channels: 
#>    name  train predict
#>  <char> <char>  <char>
#>  output   Task    Task
#> 
#> $original
#> 
#> ── PipeOp <original>: not trained ──────────────────────────────────────────────
#> Values: list()
#> 
#> ── Input channels: 
#>    name  train predict
#>  <char> <char>  <char>
#>   input      *       *
#> 
#> ── Output channels: 
#>    name  train predict
#>  <char> <char>  <char>
#>  output      *       *
#>