mlpack
fast, header-only C++ machine learning library
written in C++ and built on the Armadillo linear algebra library, the ensmallen numerical optimization library, and the cereal serialization library.
aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. Read the release announcement.

Version 4.3.0  •  5.7MB •  Nov. 27, 2023
SHA-1 Checksum: 73558aae859892ce8a8c633da60c98b530a7da14
   



Get Started

Download, install or build mlpack from source.

Documentation

Take a look at the API, bindings to other languages and more.

Tutorials

Need some inspiration? Start with some tutorials.

FAQ

Having questions or problems? Check here.


Citation

mlpack uses as open governance model and is fiscally sponsored by NumFOCUS. Please cite the following paper if you use mlpack in your work. Citations are useful for the continued development of the library.

mlpack 4: a fast, header-only C++ machine learning library.  R.R. Curtin, M. Edel, O. Shrit, S. Agrawal, S. Basak, J.J. Balamuta, R. Birmingham, K. Dutt, D. Eddelbuettel, R. Garg, S. Jaiswal, A. Kaushik, S.Kim, A. Mukherjee, N.G. Sai, N. Sharma, Y.S. Parihar, R. Swain, and C. Sanderson. Journal of Open Source Software 8:82, 2023.   copy  info

Below are some additional relevant publications about mlpack.

mlpack open-source machine learning library and community  M. Edel. NeurIPS 2018 MLOSS Workshop, 2018.   copy  info

mlpack 3: a fast, flexible machine learning library.  R.R. Curtin, M. Edel, M. Lozhnikov, Y. Mentekidis, S. Ghaisas, S. Zhang. Journal of Open Source Software 3:26, 2018.   copy  info

mlpack: a scalable C++ machine learning library  R.R. Curtin, J.R. Cline, N.P. Slagle, W.B. March, P. Ram, N.A. Mehta, A.G. Gray, The Journal of Machine Learning Research (JMLR), vol. 14, p. 801-805, 2013.   copy  info

mlpack: a scalable C++ machine learning library  R.R. Curtin, J.R. Cline, N.P. Slagle, M.L. Amidon, A.G. Gray. NIPS 2011 Workshop on Big Learning, Granada, Spain, 2011.   copy  info

License

mlpack is open source software, licensed under the permissive 3-clause BSD license.

Benchmarks

We developed a benchmarking system (An automatic benchmarking system, M. Edel, A. Soni, R.R. Curtin) that runs benchmarks for the various algorithms implemented in mlpack. When applicable, timing results are also given for other libraries. mlpack is quite fast, with benchmarks showing mlpack out- performing other libraries' implementations of the same methods.

Dataset mlpack WEKA Shogun mlpy sklearn
1000x10 0.078s 0.271s 0.132s 0.179s 0.341s
3162x10 0.267s 1.065s 1.093s 0.974s 0.916s
10000x10 1.332s 4.734s 11.890s 9.961s 3.549s
31622x10 7.270s 27.890s 120.320s 116.965s 15.213s
100000x10 47.350s 171.313s 1357.910s 1621.045s 75.039s
10000x100 18.075s 192.548s 27.251s 29.039s 198.953s

Several randomly generated, uniformly distributed datasets of varying sizes were used for this benchmark. The computation time of k-NN with k=5 for each library and each dataset size is given in Table.

Support

mlpack uses as open governance model and is fiscally sponsored by NumFOCUS. Consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

NumFOCUS

NumFOCUS is a nonprofit dedicated to supporting the open source scientific computing community. Read more →.



© 2007 - 2022 mlpack developers (BSD License).

Home  • Quick Start  • Documentation  • Community  • FAQ  • GitHub