Package website: release | dev
Extra Learners for mlr3.
mlr3extralearners
contains all learners from mlr3 that are not in
mlr3learners
or the core packages. mlr3extralearners
contains helper
functions to find where all the learners, across the mlr3verse, live and
to install required packages to run these learners. See the interactive
learner
list
for the full list of learners in the mlr3verse and the learner status
page
for a live build status.
list_mlr3learners(select = c("id", "mlr3_package", "required_packages"))
#> id mlr3_package required_packages
#> 1: classif.AdaBoostM1 mlr3extralearners RWeka
#> 2: classif.bart mlr3extralearners dbarts
#> 3: classif.C50 mlr3extralearners C50
#> 4: classif.catboost mlr3extralearners catboost
#> 5: classif.cforest mlr3extralearners partykit,sandwich,coin
#> ---
#> 128: surv.ranger mlr3learners ranger
#> 129: surv.rfsrc mlr3extralearners randomForestSRC,pracma
#> 130: surv.rpart mlr3proba rpart,distr6,survival
#> 131: surv.svm mlr3extralearners survivalsvm
#> 132: surv.xgboost mlr3learners xgboost
mlr3extralearners lives on GitHub and will not be on CRAN. Install with:
remotes::install_github("mlr-org/mlr3extralearners")
The package includes functionality for detecting if you have the
required packages installed to use a learner, and ships with the
function install_learner
which can install all required learner
dependencies.
lrn("regr.gbm")
#> Error: Required packages not installed, please run `install_learners("regr.gbm")`.
install_learners("regr.gbm")
lrn("regr.gbm")
#> <LearnerRegrGBM:regr.gbm>
#> * Model: -
#> * Parameters: keep.data=FALSE, n.cores=1
#> * Packages: gbm
#> * Predict Type: response
#> * Feature types: integer, numeric, factor, ordered
#> * Properties: importance, missings, weights
New learners can be created with the create_learner
function. This
assumes you have a local copy of mlr3extralearners
. This function will
automatically create the learner, learner tests, parameter tests, YAML
files for CI if required, and update the DESCRIPTION if required. Once
all tests are passing locally, open a pull
request with the
“New Learner” template.
create_learner(classname = "Locfit",
algorithm = "localised fit",
type = "dens",
key = "locfit",
package = "locfit",
caller = "density.lf",
feature_types = c("integer", "numeric"),
predict_types = c("pdf", "cdf"),
properties = NULL,
importance = FALSE,
oob_error = FALSE,
references = FALSE,
gh_name = "RaphaelS1")