MLJBase.jl

MLJ is a Julia framework for combining and tuning machine learning models. This repository provides core functionality for MLJ, including:

  • completing the functionality for methods defined "minimally" in MLJ's light-weight model interface MLJModelInterface

  • definition of machines and their associated methods, such as fit! and predict/transform

  • MLJ's model composition interface, including learning networks and pipelines

  • basic utilities for manipulating data

  • an extension to Distributions.jl called UnivariateFinite for randomly sampling labeled categorical data

  • a small interface for resampling strategies and implementations, including CV(), StratifiedCV and Holdout

  • methods for performance evaluation, based on those resampling strategies

  • one-dimensional hyperparameter range types, constructors and associated methods, for use with MLJTuning

  • a small interface for performance measures (losses and scores), enabling the integration of the LossFunctions.jl library, user-defined measures, as well as about two dozen natively defined measures.

  • integration with OpenML

Previously MLJBase provided the model interface for integrating third party machine learning models into MLJ. That role has now shifted to the light-weight MLJModelInterface package.