MLJBase.jl

MLJ (Machine Learning in Julia) is a toolbox written in Julia providing a common interface and meta-algorithms for selecting, tuning, evaluating, composing and comparing machine learning models written in Julia and other languages.

MLJ is released under the MIT licensed and sponsored by the Alan Turing Institute.

This repository, MLJBase, 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 many 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 lightweight MLJModelInterface package.