Storing and working with multi-output Tasks in mlr3
.
Multi-output Tasks are tasks with multiple targets of possibly different task_types
that share the same features (and therefore observations).
Install the development version from GitHub:
remotes::install_github("mlr-org/mlr3multioutput")
Instantiate an example Task
"linnerud", which has 3 regression targets.
library(mlr3)
library(mlr3multioutput)
t = tsk("linnerud")
t
## <TaskMultioutput>linnerud> (20 x 6)
## * Target: Pulls, Squats, Jumps
## * Properties: -
## * Features (4):
## - int (3): Pulse, Waist, Weight
And afterwards we can train and predict:
learner <- lrn("multioutput.featureless")
learner$train(t)
learner$predict(t)
The current goal of the package is to implement multi-output Tasks for
mlr
. Such Tasks can be either modeled using a separate learner for each class (via mlr3pipelines
), using Classification
and Regression
chains (again, via mlr3pipelines
) or alternatively using Learners
that can directly handle and work with multiple outputs.
Several design decisions are not made yet, so input is highly appreciated.
mlr3multioutput
implements Learners as well as reduction strategies for multioutput Tasks.
| Learner | Details | Reference | |---|---|---| | multioutput.featureless | A featureless learner based on ("regr." or "classif").featureless | -- |
| PipeOp |Details | Reference |
|---|---|---|
| po("multioutsplit") | Split up a Multioutput Task in several classif
, regr
or ...
tasks | -- |
| po("multioutunite") | Unite classif
, regr
or ...
predictions into a PredictionMultioutput
| -- |
| po("multioutlrn") | Apply a list of per-task-type learners to a TaskMultioutput
| -- |
mlr3pipelines
.mlr3
and its ecosystem, but it is still unfinished.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.