MLPACK (C++ library)
Stable release 
3.0.2
/ June 8, 2018


Repository 

Written in  C++ 
Operating system  Crossplatform 
Available in  English 
Type  Software library 
License  Open source (BSD) 
Website  mlpack.org 
mlpack is a machine learning software library for C++, built on top of the Armadillo library. mlpack has an emphasis on scalability, speed, and easeofuse. 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.^{[1]} Its intended target users are scientists and engineers.
It is opensource software distributed under the BSD license, making it useful for developing both open source and proprietary software. Releases 1.0.11 and before were released under the LGPL license. The project is supported by the Georgia Institute of Technology and contributions from around the world.
Miscellaneous features
Template classes for GRU, LSTM structures are available, thus the library also supports Recurrent Neural Networks.
There are bindings to R and Python. Its binding system is extensible to other languages.
Supported algorithms
Currently mlpack supports the following algorithms:
 Collaborative Filtering
 Decision stumps (onelevel decision trees)
 Density Estimation Trees
 Euclidean Minimum Spanning Trees
 Gaussian Mixture Models (GMMs)
 Hidden Markov Models (HMMs)
 Kernel Principal Component Analysis (KPCA)
 KMeans Clustering
 LeastAngle Regression (LARS/LASSO)
 Linear Regression
 Local Coordinate Coding
 LocalitySensitive Hashing (LSH)
 Logistic regression
 MaxKernel Search
 Naive Bayes Classifier
 Nearest neighbor search with dualtree algorithms
 Neighbourhood Components Analysis (NCA)
 Nonnegative Matrix Factorization (NMF)
 Principal Components Analysis (PCA)
 Independent component analysis (ICA)
 RankApproximate Nearest Neighbor (RANN)
 Simple LeastSquares Linear Regression (and Ridge Regression)
 Sparse Coding, Sparse dictionary learning
 Treebased Neighbor Search (allknearestneighbors, allkfurthestneighbors), using either kdtrees or cover trees
 Treebased Range Search
See also
 Armadillo (C++ library)
 List of numerical analysis software
 List of numerical libraries
 Numerical linear algebra
 Scientific computing
References
 ^ Ryan Curtin; et al. (2013). "mlpack: A Scalable C++ Machine Learning Library". Journal of Machine Learning Research (JMLR). 14 (Mar): 801–805.
External links
 Official website
 mlpack on GitHub