mlr-org/mlr3

mlr3: Machine Learning in R - next generation

What it solves

mlr3 is a modern, object-oriented framework for machine learning in R. It provides a standardized way to handle the building blocks of machine learning—such as tasks, learners, and resampling strategies—to avoid the feature creep and maintenance difficulties associated with older frameworks.

How it works

The project uses an object-oriented design based on R6 classes to manage state changes and reference semantics. It leverages data.table for high-performance data frame computations and checkmate for strict type safety and argument checking. The core package focuses strictly on computation, while specialized functionality (like visualization or specific learners) is offloaded to extension packages.

Who it’s for

Data scientists and researchers using R who need a professional, extensible, and efficient machine learning pipeline for classification, regression, and survival analysis.

Highlights

  • Object-Oriented Design: Uses R6 for a clean, queryable architecture.
  • High Performance: Integrated with data.table for fast data handling.
  • Extensible Ecosystem: A wide array of extension packages for learners, tuning, and pipelines.
  • Type Safety: Implements defensive programming to ensure predictable return types and stable user input.
  • Parallelization: Supports parallel backends via the future abstraction for resampling and benchmarking.

Related

  • Project
  • Project
  • Project
  • Project
  • Project