what is mlpack?

mlpack is a C++ machine learning library with emphasis on scalability, speed, and ease-of-use. Its aim is to make machine learning possible for novice users by means of a simple, consistent API, while simultaneously exploiting C++ language features to provide maximum performance and maximum flexibility for expert users. This is done by providing a set of command-line executables which can be used as black boxes, and a modular C++ API for expert users and researchers to easily make changes to the internals of the algorithms.

As a result of this approach, mlpack outperforms competing machine learning libraries by large margins; see the BigLearning workshop paper and the benchmarks for details.

mlpack is developed by contributors from around the world. It is released free of charge, under the 3-clause BSD License (more information). (Versions older than 1.0.12 were released under the GNU Lesser General Public License: LGPL, version 3.)

mlpack was originally presented at the BigLearning workshop of NIPS 2011 [pdf] and later published in the Journal of Machine Learning Research [pdf], with version 3 being published in the Journal of Open Source Software [pdf]. Please cite mlpack in your work using this citation.

mlpack bindings for R are provided by the RcppMLPACK project.

what does mlpack implement?

Below is a high-level list of the available functionality contained within mlpack, along with relevant links to papers, API documentation, tutorials, or other references.

who wrote mlpack?

mlpack is developed by a team of machine learning researchers around the world. Originally, it was produced by the FASTLab at Georgia Tech, but it has since grown into a much larger effort. Below is a list of contributors (see also the list generated by Github).

Interested in contributing? See this page for information on how to get involved.


The mlpack project is grateful to the following organizations for their support over the course of the development of the library:

1. Developer Ryan Curtin received partial support to work on mlpack in 2015 from the US National Science Foundation (NSF) under Award 1339745 (SI2-SSI: The XScala Project). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the NSF.