R: PipeOpProbregrCompositor

mlr_pipeops_compose_probregr {mlr3proba} | R Documentation

## PipeOpProbregrCompositor

### Description

Combines a predicted `reponse` and `se` from PredictionRegr with a specified probability distribution to estimate (or 'compose') a `distr` prediction.

### Dictionary

This PipeOp can be instantiated via the dictionary mlr3pipelines::mlr_pipeops or with the associated sugar function `mlr3pipelines::po()`:

    PipeOpProbregrCompositor$new()
    mlr_pipeops$get("compose_probregr")
    po("compose_probregr")

### Input and Output Channels

PipeOpProbregrCompositor has two input channels named `"input_response"` and `"input_se"`, which take `NULL` during training and two PredictionRegrs during prediction, these should respectively contain the `response` and `se` return type, the same object can be passed twice.

The output during prediction is a PredictionRegr with the "response" from `input_response`, the "se" from `input_se` and a "distr" created from combining the two.

### State

The `$state` is left empty (`list()`).

### Parameters

- `dist` :: `character(1)`
  Location-scale distribution to use for composition. Current choices are `"Normal"` (default), `"Cauchy"`, `"Gumbel"`, `"Laplace"`, `"Logistic"`. All implemented via distr6.

### Internals

The composition is created by substituting the `response` and `se` predictions into the distribution location and scale parameters respectively.

### Super class

`mlr3pipelines::PipeOp` -> `PipeOpProbregrCompositor`

### Methods

#### Public methods

- `PipeOpProbregrCompositor$new()`

- `PipeOpProbregrCompositor$clone()`

Inherited methods

- `mlr3pipelines::PipeOp$predict()`

- `mlr3pipelines::PipeOp$print()`

- `mlr3pipelines::PipeOp$train()`

#### Method `new()`

Creates a new instance of this R6 class.

##### Usage

    PipeOpProbregrCompositor$new(
      id = "compose_probregr",
      param_vals = list(dist = "Normal")
    )

##### Arguments

`id`

  (`character(1)`)
  Identifier of the resulting object.

`param_vals`

  (`list()`)
  List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction.

#### Method `clone()`

The objects of this class are cloneable with this method.

##### Usage

    PipeOpProbregrCompositor$clone(deep = FALSE)

##### Arguments

`deep`

  Whether to make a deep clone.

### Examples

    ## Not run:
    if (requireNamespace("mlr3pipelines", quietly = TRUE) &&
      requireNamespace("rpart", quietly = TRUE)) {
      library(mlr3)
      library(mlr3pipelines)
      set.seed(1)
      task = tsk("boston_housing")

      # Option 1: Use a learner that can predict se
      learn = lrn("regr.featureless", predict_type = "se")
      pred = learn$train(task)$predict(task)
      poc = po("compose_probregr")
      poc$predict(list(pred, pred))[[1]]

      # Option 2: Use two learners, one for response and the other for se
      learn_response = lrn("regr.rpart")
      learn_se = lrn("regr.featureless", predict_type = "se")
      pred_response = learn_response$train(task)$predict(task)
      pred_se = learn_se$train(task)$predict(task)
      poc = po("compose_probregr")
      poc$predict(list(pred_response, pred_se))[[1]]
    }

    ## End(Not run)

[Package mlr3proba version 0.4.2 Index]