A C++ generic programming library for machine learning
C++ CMake
Switch branches/tags
Nothing to show
Latest commit 901d418 Sep 26, 2017 Hervé Frezza-Buet Hervé Frezza-Buet c++17
Failed to load latest commit information.
doc minor update Oct 31, 2016
gaml-kvq presque Oct 23, 2016
gaml-libsvm bugfix Jan 15, 2015
gaml-linear c++17 Sep 26, 2017
gaml-mlp upd Nov 4, 2016
gaml-xtree minor Oct 24, 2016
gaml Fix bug in data parser Sep 21, 2017
LICENSE Initial commit Jan 8, 2015
README.md update Jun 16, 2015



A C++ generic programming library for machine learning, developped by Frédéric Pennerath, Jérémy Fix and Hervé Frezza-Buet.


The directory contains several source packages, the documentation for each of them can be found in the doc directory as a doxygen generated html file.

For example, the documentation of gaml-libsvm is accessible from doc/gaml-libsvm/index.html

Unix Installation

First, get the files.

git clone https://github.com/HerveFrezza-Buet/gaml

Then, you can install all packages as follows. The commands below concern the installation of the gaml package, the installation of the other packages is similar. For a 32bit architecture:

mkdir -p gaml/build
cd gaml/build
sudo make install
cd ../..

For a Fedora-64bit architecture:

mkdir -p gaml/build
cd gaml/build
sudo make install
cd ../..

The default installation uses GNU compilers gcc/g++. However clang is also supported. Just set CC and CXX environment variables as follows before running cmake.

export CC= /usr/bin/clang
export CXX= /usr/bin/clang++

The available packages are :

The core library. It provide generic tools for usual data handling in machine learning.
Linear learning (LASSO and LARS) with gaml.
Libsvm support. libsvm should be installed first.
Extreme decision trees support.
Multi-layer perceptron support. easykf should be installed first.
Kernelized vector quantization support, by linking with vq2. vq2 should be installed first. Notes that the basics for kernelized vector quantization are available in the core gaml package (the span namespace).

Related projects

SVM algorithms.
C++ kalman filtering
C++ generic vector quantization
C++ generic reinforcement learning