This packages provides essential learners for mlr3, maintained by the mlr-org team. We will most likely not add new learners to this package.

Other learners live in the mlr3learners organization and are possibly maintained by people outside the mlr-org team. There is a wiki page listing all currently available custom learners. See below for instructions on how to add a new learner.


# CRAN version:

# Development version:

If you also want to install all packages of the connected learners, set dependencies = TRUE:

# CRAN version:
install.packages("mlr3learners", dependencies = TRUE)

# Development version:
remotes::install_github("mlr-org/mlr3learners", dependencies = TRUE)

Classification Learners

ID Learner Package
classif.glmnet Penalized Logistic Regression glmnet
classif.kknn k-Nearest Neighbors kknn
classif.lda LDA MASS
classif.log_reg Logistic Regression stats
classif.multinom Multinomial log-linear model nnet
classif.naive_bayes Naive Bayes e1071
classif.qda QDA MASS
classif.ranger Random Forest ranger
classif.svm SVM e1071
classif.xgboost Gradient Boosting xgboost

Regression Learners

ID Learner Package
regr.glmnet Penalized Linear Regression glmnet
regr.kknn k-Nearest Neighbors kknn Kriging DiceKriging
regr.lm Linear Regression stats
regr.ranger Random Forest ranger
regr.svm SVM e1071
regr.xgboost Gradient Boosting xgboost

Requesting/Adding additional learners

Please follow these steps to add/request a new learner. Steps 2-6 are only needed if you want to add a learner yourself.

  1. Open an issue in mlr3learners following the issue template.

  2. Fork the mlr3learners.template repo and adjust the template to your needs. Follow the instructions given in the README and in the section “Adding new Learners” in the mlr3book.

  3. When you are somewhat done, request a review in the opened issue.

  4. After you can transfer the learner to the mlr3learners organization. To do so, please first request an invitation from @pat-s / @be-marc to be added to the mlr3learners organization. Once transferred, you will get access rights to your repository to finalize the learner.

  5. Congrats! Your learner has been successfully added to the mlr3 ecosystem. Now the learner is ready to be added to {mlr3learners.drat}. This makes is possible to install the learner via install.packages() without the need of submitting the learner package to CRAN.

    (Last, we would be very happy if you keep maintaining the learner against upstream changes :)