Machine Learning Toolbox

Build Status Coverage Status Documentation Hackage

Supported Methods and Problems

Supervised Learning

Regression Problem
  • Normal Equation;

  • Linear Regression using Least Squares approach.

Classification Problem
  • Softmax Classifier;

  • Multi SVM Classifier;

  • Logistic Regression;

  • Neural Networks, please see the details below.

Unsupervised Learning

  • Principal Component Analysis (Dimensionality reduction problem);

  • K-Means (Clustering).

Neural Networks

  • Activations: ReLu, Tanh, Sigmoid;

  • Loss Functions: Softmax, Multi SVM, Logistic.


OS X/macOS prerequisites setup

brew install pkg-config gsl


sudo port install pkgconfig gsl

Build the project

stack build

Run examples app

Please run sample app from root dir (because paths to training data sets are hardcoded).

cd examples
stack build
stack exec linreg      # Linear Regression Sample App
stack exec logreg      # Logistic Regression (Classification) Sample App
stack exec digits      # Muticlass Classification Sample App
                       # (Recognition of Handwritten Digitts
stack exec digits-pca  # Apply PCA dimensionaly reduction to digits sample app
stack exec digits-svm  # Support Vector Machines
stack exec nn          # Neural Network Sample App
                       # (Recognition of Handwritten Digits)
stack exec kmeans      # Clustering Sample App

Run unit tests

stack test