Skip to content

mlr-org/mlr3multioutput

Repository files navigation

mlr3multioutput

tic CRAN status codecov StackOverflow

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).

Installation

Install the development version from GitHub:

remotes::install_github("mlr-org/mlr3multioutput")

Example

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)

Design

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.

Currently implemented Learners and Strategies

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 --

Long-term Goals

  • Implement sub-class "Multilabel". This should cover almost all aspects of multi-label modelling.
  • Implement classifier and regressor chaining strategies via mlr3pipelines.

Resources

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •