Core functionality for the MLJ machine learning framework
140 Stars
Updated Last
11 Months Ago
Started In
December 2018


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

Branch Julia Build Coverage
master v1 Continuous Integration (CPU) Code Coverage
dev v1 Continuous Integration (CPU) Code 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 (/src/interface)

  • definition of machines and their associated methods, such as fit! and predict/transform (src/machines). Serialization of machines, however, now lives in MLJSerialization.

  • MLJ's model composition interface, including learning networks, pipelines, stacks, target transforms (/src/composition)

  • basic utilities for manipulating datasets and for synthesizing datasets (src/data)

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

  • methods for performance evaluation, based on those resampling strategies (src/resampling.jl)

  • one-dimensional hyperparameter range types, constructors and associated methods, for use with MLJTuning (src/hyperparam)

  • a small interface for performance measures (losses and scores), implementation of about 60 such measures, including integration of the LossFunctions.jl library (src/measures). To be migrated into separate package in the near future.