MyNixOS website logo
Description

Super Learner Fitting and Prediction.

An implementation of the Super Learner prediction algorithm from van der Laan, Polley, and Hubbard (2007) <doi:10.2202/1544-6115.1309 using the 'mlr3' framework.

mlr3superlearner

Lifecycle:experimental R-CMD-check

An modern implementation of the Super Learner prediction algorithm using the mlr3 framework, and an adherence to the recommendations of Phillips, van der Laan, Lee, and Gruber (2023)

Installation

You can install the development version of mlr3superlearner from GitHub with:

# install.packages("devtools")
devtools::install_github("nt-williams/mlr3superlearner")

Example

library(mlr3superlearner)
#> Loading required package: mlr3learners
#> Loading required package: mlr3
library(mlr3extralearners)

# No hyperparameters
mlr3superlearner(mtcars, "mpg", c("mean", "glm", "svm", "ranger"), "continuous")
#> ℹ n effective = 32. Setting cross-validation folds as 20
#> ══ `mlr3superlearner()` ════════════════════════════════════════════════════════
#>                      Risk Coefficients
#> regr.featureless 37.82487            0
#> regr.lm          12.21920            0
#> regr.ranger       5.70615            1
#> regr.svm         11.38053            0

# With hyperparameters
fit <- mlr3superlearner(mtcars, "mpg", 
                        list("mean", "glm", "xgboost", "svm", "earth",
                             list("nnet", trace = FALSE),
                             list("ranger", num.trees = 500, id = "ranger1"),
                             list("ranger", num.trees = 1000, id = "ranger2")), 
                        "continuous")
#> ℹ n effective = 32. Setting cross-validation folds as 20

fit
#> ══ `mlr3superlearner()` ════════════════════════════════════════════════════════
#>                                 Risk Coefficients
#> regr.earth                  7.781849            0
#> regr.glm                   12.166336            0
#> regr.mean                  37.891555            0
#> regr.nnet_and_trace_FALSE  36.086681            0
#> regr.ranger1                5.953228            0
#> regr.ranger2                5.724181            1
#> regr.svm                   11.223307            0
#> regr.xgboost              225.854354            0

head(data.frame(pred = predict(fit, mtcars), truth = mtcars$mpg))
#>       pred truth
#> 1 20.74050  21.0
#> 2 20.70535  21.0
#> 3 24.25158  22.8
#> 4 20.21326  21.4
#> 5 17.67443  18.7
#> 6 18.98955  18.1

Available learners

knitr::kable(available_learners("binomial"))
learnermlr3_learnermlr3_packagelearner_package
meanclassif.featurelessmlr3stats
glmclassif.log_regmlr3learnersstats
glmnetclassif.glmnetmlr3learnersglmnet
cv_glmnetclassif.cv_glmnetmlr3learnersglmnet
knnclassif.kknnmlr3learnerskknn
nnetclassif.nnetmlr3learnersnnet
ldaclassif.ldamlr3learnersMASS
naivebayesclassif.naive_bayesmlr3learnerse1071
qdaclassif.qdamlr3learnersMASS
rangerclassif.rangermlr3learnersranger
svmclassif.svmmlr3learnerse1071
xgboostclassif.xgboostmlr3learnersxgboost
earthclassif.earthmlr3extralearnersearth
lightgbmclassif.lightgbmmlr3extralearnerslightgbm
randomforestclassif.randomForestmlr3extralearnersrandomForest
bartclassif.bartmlr3extralearnersdbarts
c50classif.C50mlr3extralearnersC50
gamclassif.gammlr3extralearnersmgcv
gaussianprocessclassif.gaussprmlr3extralearnerskernlab
glmboostclassif.glmboostmlr3extralearnersmboost
nloptrclassif.avgmlr3pipelinesnloptr
rpartclassif.rpartmlr3rpart
knitr::kable(available_learners("continuous"))
learnermlr3_learnermlr3_packagelearner_package
meanregr.featurelessmlr3stats
glmregr.lmmlr3learnersstats
glmnetregr.glmnetmlr3learnersglmnet
cv_glmnetregr.cv_glmnetmlr3learnersglmnet
knnregr.kknnmlr3learnerskknn
nnetregr.nnetmlr3learnersnnet
rangerregr.rangermlr3learnersranger
svmregr.svmmlr3learnerse1071
xgboostregr.xgboostmlr3learnersxgboost
earthregr.earthmlr3extralearnersearth
lightgbmregr.lightgbmmlr3extralearnerslightgbm
randomforestregr.randomForestmlr3extralearnersrandomForest
bartregr.bartmlr3extralearnersdbarts
gamregr.gammlr3extralearnersmgcv
gaussianprocessregr.gaussprmlr3extralearnerskernlab
glmboostregr.glmboostmlr3extralearnersmboost
rpartregr.rpartmlr3rpart.
Metadata

Version

0.1.2

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows