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]. 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.