Skip to content

Latest commit

 

History

History
189 lines (138 loc) · 7.42 KB

index.md

File metadata and controls

189 lines (138 loc) · 7.42 KB

Documentation for mlpack

A fast, flexible machine learning library

mlpack is an intuitive, fast, and flexible header-only C++ machine learning library with bindings to other languages. It aims to provide fast, lightweight implementations of both common and cutting-edge machine learning algorithms.

mlpack's lightweight C++ implementation makes it ideal for deployment, and it can also be used for interactive prototyping via C++ notebooks (these can be seen in action on mlpack's homepage).

In addition to its powerful C++ interface, mlpack also provides command-line programs, and bindings to the Python, R, Julia, and Go languages.

If you use mlpack, please cite the software.

mlpack basics

Installing mlpack can be done using the instructions in the README; or the Windows build guide. The following basic guides are highly recommended before using mlpack.

mlpack algorithm documentation

Documentation for each machine learning algorithm that mlpack implements is detailed in the sections below.

Classification algorithms

Classify points as discrete labels (0, 1, 2, ...).

Regression algorithms

Predict continuous values.

Clustering algorithms

Group points into clusters.

Geometric algorithms

Computations based on distance metrics.

Preprocessing utilities

Prepare data for machine learning algorithms.

Transformations

Transform data from one space to another.

  • LocalCoordinateCoding: local coordinate coding with dictionary learning
  • NMF: non-negative matrix factorization
  • PCA: principal components analysis
  • SparseCoding: sparse coding with dictionary learning

Modeling utilities

Tools for assembling a full data science pipeline.

Bindings to other languages

mlpack's bindings to other languages have less complete functionality than mlpack in C++, but almost all the same algorithms are available.

| Python | -- | quickstart | -- | reference | | Julia | -- | quickstart | -- | reference | | R | -- | quickstart | -- | reference | Command-line programs | -- | quickstart | -- | reference | | Go | -- | quickstart | -- | reference |

Examples and further documentation

For additional documentation beyond what is covered in all the resources above, the source code should be consulted. Each method is fully documented.

Developer documentation

The following general documentation can be useful if you are interested in contributing to mlpack:

Throughout the codebase, mlpack uses some common template parameter policies. These are documented below.

In addition, the following documentation may be useful when developing bindings for other languages:

Changelog

For a list of changes in each version of mlpack, see the changelog.