Core functionality for the MLJ machine learning framework
Author alan-turing-institute
63 Stars
Updated Last
1 Year Ago
Started In
December 2018


Repository for developers that provides core functionality for the MLJ machine learning framework.

Stable Build Status Coverage

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. Serialization of machines, however, now lives in MLJSerialization.

  • 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 forty natively defined measures.

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.