Skip to content

Commit

Permalink
Merge pull request #192 from alan-turing-institute/dev
Browse files Browse the repository at this point in the history
update readme
  • Loading branch information
ablaom authored Feb 14, 2020
2 parents d2d4d3f + 071a008 commit 9ec8046
Showing 1 changed file with 47 additions and 9 deletions.
56 changes: 47 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,56 @@
## MLJBase

The model interface for
[MLJ](https://github.com/alan-turing-institute/MLJ.jl), a Julia
machine learning framework.
Repository for developers that provides core functionality for the
[MLJ](https://github.com/alan-turing-institute/MLJ.jl) machine
learning framework.

[![Build Status](https://travis-ci.com/alan-turing-institute/MLJBase.jl.svg?branch=master)](https://travis-ci.com/alan-turing-institute/MLJBase.jl)
[![Coverage](http://codecov.io/github/alan-turing-institute/MLJBase.jl/coverage.svg?branch=master)](http://codecov.io/github/alan-turing-institute/MLJBase.jl?branch=master)

MLJ is a Julia framework for combining and tuning machine learning
models. Any machine learning algorithm written in Julia can be used
with MLJ if it is defined in a package that imports the MLJBase
module, and implements the model API defined there. For more
information, see the MLJ document ["Adding Models for General Use"](https://alan-turing-institute.github.io/MLJ.jl/dev/adding_models_for_general_use/).
[MLJ](https://github.com/alan-turing-institute/MLJ.jl) is a Julia
framework for combining and tuning machine learning models. This
repository provides core functionality for MLJ, including:

Requires at least Julia v1.0.
- completing the functionality for methods defined "minimally" in
MLJ's light-weight model interface
[MLJModelInterface](https://github.com/alan-turing-institute/MLJModelInterface.jl)

- 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](https://github.com/JuliaStats/Distributions.jl)
called `UnivariateFinite` for randomly sampling *labeled*
categorical data

- a [small interface](https://alan-turing-institute.github.io/MLJ.jl/dev/evaluating_model_performance/#Custom-resampling-strategies-1) 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](https://github.com/alan-turing-institute/MLJTuning.jl)

- a [small
interface](https://alan-turing-institute.github.io/MLJ.jl/dev/performance_measures/#Traits-and-custom-measures-1)
for **performance measures** (losses and scores), enabling the
integration of the
[LossFunctions.jl](https://github.com/JuliaML/LossFunctions.jl)
library, user-defined measures, as well as about two dozen natively
defined measures.

- integration with [OpenML](https://www.openml.org)


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](https://github.com/alan-turing-institute/MLJModelInterface.jl)
package.


0 comments on commit 9ec8046

Please sign in to comment.