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.
A list of publications that cite mlr can be found in the wiki.
R does not define a standardized interface for all 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 resample your models, optimize hyperparameters, select features, cope with pre- and post-processing of data and compare models in a statistically meaningful way. 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.
Changes of the packages can be accessed in the NEWS file shipped with the package.
Please use the issue tracker for problems, questions and feature requests. Don’t email in most cases, as we forget these mails.
We also do not hate beginners and it is perfectly valid to mark an issue as “Question”. However, simple usage questions are better suited at Stackoverflow using the ‘mlr’ tag.
Please don’t forget 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 specifically paid for it.
We also welcome pull requests or new developers. Just make sure that you have a glance at our mlr coding guidelines before.
Modification of a tutorial section:
If you want to modify/add a tutorial section, please follow these steps:
mlrfunctions as <function()>, e.g.
vignettes/tutorial/devel/pdf/img/and see the examples in resampling.Rmd, nested_resampling.Rmd or handling_of_spatial_data.Rmd.
.Rmdfile is working on its own, i.e. compile it as a single file (preferably using
build_article("<vignette-name>")) and see if everything works. Put required packages in the setup chunk at the beginning of the tutorial.
Rendering the tutorial locally:
If you want to view the complete
pkgdown site locally, run
pkgdown::build_site(lazy = TRUE). You don’t have to render the complete site every time you change one tutorial. The
lazy = TRUE argument ensures that only pages are rebuilt that have changed. Also, if you have built the whole site once, you can just build the vignettes again by using
build_articles(lazy = TRUE). More specific, if you are working on one vignette, you can run
build_article("<vignette-name>"). You do not need to pass the
.Rmd extension when using
Important: Do not commit any file in
docs/ as the rendering will be done by Travis!
Adding a new section:
_pkgdown.yml and add the new section at the appropriate place.
Issues and Pull Requests: