MLPACK (C++ library)
   HOME

TheInfoList



OR:

mlpack is a machine learning software library for C++, built on top of the Armadillo library and th
ensmallen
numerical optimization library. mlpack has an 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. Its intended target users are scientists and engineers. It is open-source 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 The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
license. The project is supported by the
Georgia Institute of Technology The Georgia Institute of Technology, commonly referred to as Georgia Tech or, in the state of Georgia, as Tech or The Institute, is a public research university and institute of technology in Atlanta, Georgia. Established in 1885, it is part of ...
and contributions from around the world.


Miscellaneous features

Class templates for GRU, LSTM structures are available, thus the library also supports Recurrent Neural Networks. There are bindings to R, Go, Julia, and Python. Its binding system is extensible to other languages.


Supported algorithms

Currently ''mlpack'' supports the following algorithms and models: * Collaborative Filtering * Decision stumps (one-level decision trees) * Density Estimation Trees * Euclidean minimum spanning trees * Gaussian Mixture Models (GMMs) *
Hidden Markov Models A hidden Markov model (HMM) is a statistical Markov model in which the system being modeled is assumed to be a Markov process — call it X — with unobservable ("''hidden''") states. As part of the definition, HMM requires that there be an obs ...
(HMMs) * Kernel density estimation (KDE) * Kernel Principal Component Analysis (KPCA) *
K-Means Clustering ''k''-means clustering is a method of vector quantization, originally from signal processing, that aims to partition ''n'' observations into ''k'' clusters in which each observation belongs to the cluster with the nearest mean (cluster centers or ...
*
Least-Angle Regression In statistics, least-angle regression (LARS) is an algorithm for fitting linear regression models to high-dimensional data, developed by Bradley Efron, Trevor Hastie, Iain Johnstone and Robert Tibshirani. Suppose we expect a response variable ...
(LARS/LASSO) *
Linear Regression In statistics, linear regression is a linear approach for modelling the relationship between a scalar response and one or more explanatory variables (also known as dependent and independent variables). The case of one explanatory variable is call ...
* Bayesian Linear Regression * Local Coordinate Coding * Locality-Sensitive Hashing (LSH) * Logistic regression * Max-Kernel Search *
Naive Bayes Classifier In statistics, naive Bayes classifiers are a family of simple "probabilistic classifiers" based on applying Bayes' theorem with strong (naive) independence assumptions between the features (see Bayes classifier). They are among the simplest Baye ...
* Nearest neighbor search with dual-tree algorithms *
Neighbourhood Components Analysis Neighbourhood components analysis is a supervised learning method for classifying multivariate data into distinct classes according to a given distance metric over the data. Functionally, it serves the same purposes as the K-nearest neighbors algo ...
(NCA) * Non-negative Matrix Factorization (NMF) * Principal Components Analysis (PCA) * Independent component analysis (ICA) * Rank-Approximate Nearest Neighbor (RANN) * Simple Least-Squares
Linear Regression In statistics, linear regression is a linear approach for modelling the relationship between a scalar response and one or more explanatory variables (also known as dependent and independent variables). The case of one explanatory variable is call ...
(and Ridge Regression) * Sparse Coding, Sparse dictionary learning * Tree-based Neighbor Search (all-k-nearest-neighbors, all-k-furthest-neighbors), using either kd-trees or cover trees * Tree-based Range Search


See also

* Armadillo (C++ library) *
List of numerical analysis software Listed here are notable end-user computer applications intended for use with numerical or data analysis: Numerical-software packages General-purpose computer algebra systems Interface-oriented Language-oriented Historically significa ...
*
List of numerical libraries This is a list of numerical libraries, which are libraries used in software development for performing numerical calculations. It is not a complete listing but is instead a list of numerical libraries with articles on Wikipedia, with few exceptio ...
* Numerical linear algebra * Scientific computing


References


External links

* * {{GitHub, mlpack/mlpack C++ libraries Data mining and machine learning software Free computer libraries Free mathematics software Free science software Free software programmed in C++ Free statistical software