The new mlr-2.14.0 and announcement of mlr3

Patrick Schratz


April 18, 2019

The last mlr release was in August 2018 - so it was definitely time for a new release after around 9 months of development!

The NEWS file can be found directly here.

In this post we highlight some of the new implementations that come along with this release of v2.14.0


We integrated the filter methods from the praznik package. These were quite few:

  • praznik_JMI
  • praznik_DISR
  • praznik_JMIM
  • praznik_MIM
  • praznik_NJMIM
  • praznik_MRMR
  • praznik_CMIM

Also, a long awaited PR that we finally merged was the inclusion of the FSelectorRcpp filters. These are around 100 times faster than the Java-driven ones from the FSelector package.

In addition, we are now using a consistent naming scheme for the filters following <package-name>_<filter-name>. This change might break your existing code if you used mlr filters before. However, since it is just a naming change we think the burden of updating your code is acceptable.


Two new learners were added:

  • classif.liquidSVM
  • regr.liquidSVM

Learner regr.h2o.gbm now uses = TRUE by default which should result in a runtime performance increase.

It is also possible to retrieve the feature importance of h2O learners now.


You can now provide fully predefined indices for resampling. This is useful for datasets that have a certain grouping structure (e.g. spatial data) that is difficult to specify otherwise.

mlr-org NEWS

You might be wondering what we’ve been up to in the last months in our group. The major project that we started was mlr3. This is a clean rewrite of mlr with a modular structure to simplify usage and maintenance of the “mlr idea” in the future, both for users and developers. We are not completely finished yet, but you can take a look at the Github repo at what we have achieved so far. Once we are ready to release the initial version, we will of course write a dedicated post about it.

Putting a lot of time into mlr3 means having less time for responding to issues and questions in mlr. We would like to apologize for this. We are working on this more or less as a side project along our day jobs and our resources are limited. If you want to help and get involved with mlr or mlr3, we would be very happy to have you. Our team is not a closed group and anyone can contribute to the mlr-org projects.

The change in development focus also led to a change of maintainer for mlr. As Bernd Bischl (the creator and maintainer) of mlr has a lot of duties, we decided to make Lars Kotthoff and Patrick Schratz the new maintainers of the mlr package.

mlr will only get bug fixes and minor updates, as we are focusing the development of new things on mlr3. Right now, we have over 400 issues and 30 pull requests so there is a still a lot to do :)

Roadmap for mlr

We are will publish new releases every three months from now on, regardless of the changes that have come in. mlr will continue to exist next to mlr3. If users start contributing new features to mlr, we are also happy to include those in the package. As announced already, we will clean up the mlr repo issue and pull request in the coming months to be able to fully concentrate on mlr3 after its initial release.