UK-based national research organization The Alan Turing Institute has released a new machine learning toolbox, Machine Learning in Julia (MLJ), which provides a uniform interface enabling users to easily train, evaluate, and tune machine learning models. This open-source framework is written in the high-performance scientific programming language Julia.

Inspired by Machine Learning in R (MLR), the Alan Turing Institute launched the development of the MLJ project last December and released its official version V 0.1.0 last week. The MLJ GitHub’s over 200 stars are the most among institute projects.

The major feature of MLJ is learning networks, a flexible model composition pipelining step that combines machine learning models more flexibly via techniques such as ensembling, stacking, and pipelining. Below is a schematic of a simple two-model stack viewed as a network.

Other features include:

Automatic tuning. Automated tuning of hyperparameters, including composite models. Tuning implemented as a model wrapper for composition with other meta-algorithms.

Automated tuning of hyperparameters, including composite models. Tuning implemented as a model wrapper for composition with other meta-algorithms. Homogeneous model ensembling.

Registry for model metadata. Metadata available without loading model code. Basis of a “task” interface and facilitates model composition.

Metadata available without loading model code. Basis of a “task” interface and facilitates model composition. Task interface. Automatically match models to specified learning tasks, to streamline benchmarking and model selection.

Automatically match models to specified learning tasks, to streamline benchmarking and model selection. Clean probabilistic API. Improves support for Bayesian statistics and probabilistic graphical models.

Improves support for Bayesian statistics and probabilistic graphical models. Data container agnostic. Present and manipulate data in your favorite Tables.jl format.

Present and manipulate data in your favorite Tables.jl format. Universal adoption of categorical data types. Enables model implementations to properly account for classes seen in training but not in evaluation.

The Alan Turing Institute believes MLJ’s features and functionality make it a better alternative than ScikitLearn.jl, a Julia wrapper for the popular Python library scikit-learn. Click the GitHub page for more detailed information.