Giter Club home page Giter Club logo

mlj.jl's Introduction

MLJ

A pure Julia machine learning framework.

MLJ News

join!(MLJ, YourModel)

Call for help. MLJ is getting attention but its small project team needs help to ensure its success. This depends crucially on:

  • Existing and developing ML algorithms implementing the MLJ model interface

  • Improvements to existing but poorly maintained Julia ML algorithms

The MLJ model interface is now relatively stable and well-documented, and the core team is happy to respond to issue requests for assistance. Please click here for more details on contributing.

MLJ is presently supported by a small Alan Turing Institute grant and is looking for new funding sources to grow the project.

Build Status Slack Channel mlj Coverage Status

MLJ aims to be a flexible framework for combining and tuning machine learning models, written in the high performance, rapid development, scientific programming language, Julia.

The MLJ project is partly inspired by MLR.

A list of models implementing the MLJ interface: MLJRegistry

MLJ Cheatsheet

Installation

In the Julia REPL:

]add MLJ
add MLJModels

A docker image with installation instructions is also available.

Features to include:

  • Automated tuning of hyperparameters, including composite models with nested parameters. Tuning implemented as a wrapper, allowing composition with other meta-algorithms. ✔

  • Option to tune hyperparameters using gradient descent and automatic differentiation (for learning algorithms written in Julia).

  • Data agnostic: Train models on any data supported by the Tables.jl interface. ✔

  • Intuitive syntax for building arbitrarily complicated learning networks .✔

  • Learning networks can be exported as self-contained composite models ✔, but common networks (e.g., linear pipelines, stacks) come ready to plug-and-play.

  • Performant parallel implementation of large homogeneous ensembles of arbitrary models (e.g., random forests). ✔

  • Task interface matches machine learning problem to available models. ✔

  • Benchmarking a battery of assorted models for a given task.

  • Automated estimates of cpu and memory requirements for given task/model.

Frequently Asked Questions

See here.

Known issues

  • The ScikitLearn SVM models will not work under Julia 1.0.3 but do work under Julia 1.1 due to Issue #29208

  • When MLJRegistry is updated with new models you may need to force a new precompilation of MLJ to make new models available.

Getting started

Get started here, or take the MLJ tour.

History

Predecessors of the current package are AnalyticalEngine.jl and Orchestra.jl, and Koala.jl. Work continued as a research study group at the University of Warwick, beginning with a review of existing ML Modules that were available in Julia at the time (in-depth, overview).

alt text

Further work culminated in the first MLJ proof-of-concept

mlj.jl's People

Contributors

ablaom avatar ayush-1506 avatar ayush1999 avatar darenasc avatar dominusmi avatar giordano avatar mkborregaard avatar roberthoenig avatar sjvollmer avatar swenkel avatar tlienart avatar vollmersj avatar ysimillides avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.