mlr-org / mlr

Machine Learning in R
https://mlr.mlr-org.com
Other
1.65k stars 405 forks source link
classification clustering cran data-science feature-selection hyperparameters-optimization imbalance-correction learners machine-learning mlr multilabel-classification predictive-modeling r r-package regression stacking statistics survival-analysis tuning tutorial

mlr

Package website: release | dev

Machine learning in R.

tic CRAN_Status_Badge cran checks CRAN Downloads StackOverflow lifecycle codecov

Deprecated

{mlr} is considered retired from the mlr-org team. We won't add new features anymore and will only fix severe bugs. We suggest to use the new mlr3 framework from now on and for future projects.

Not all features of {mlr} are already implemented in {mlr3}. If you are missing a crucial feature, please open an issue in the respective mlr3 extension package and do not hesitate to follow-up on it.

Installation

Release

install.packages("mlr")

Development

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

Citing {mlr} in publications

Please cite our JMLR paper [bibtex].

Some parts of the package were created as part of other publications. If you use these parts, please cite the relevant work appropriately. An overview of all {mlr} related publications can be found here.

Introduction

R does not define a standardized interface for its machine-learning algorithms. Therefore, for any non-trivial experiments, you need to write lengthy, tedious and error-prone wrappers to call the different algorithms and unify their respective output.

Additionally you need to implement infrastructure to

As this becomes computationally expensive, you might want to parallelize your experiments as well. This often forces users to make crummy trade-offs in their experiments due to time constraints or lacking expert programming skills.

{mlr} provides this infrastructure so that you can focus on your experiments! The framework provides supervised methods like classification, regression and survival analysis along with their corresponding evaluation and optimization methods, as well as unsupervised methods like clustering. It is written in a way that you can extend it yourself or deviate from the implemented convenience methods and construct your own complex experiments or algorithms.

Furthermore, the package is nicely connected to the OpenML R package and its online platform, which aims at supporting collaborative machine learning online and allows to easily share datasets as well as machine learning tasks, algorithms and experiments in order to support reproducible research.

Features

Miscellaneous

Simple usage questions are better suited at Stackoverflow using the mlr tag.

Please note that all of us work in academia and put a lot of work into this project - simply because we like it, not because we are paid for it.

New development efforts should go into {mlr3}. We have a own style guide which can easily applied by using the mlr_style from the styler package. See our wiki for more information.

Talks, Workshops, etc.

mlr-outreach holds all outreach activities related to {mlr} and {mlr3}.