mltool: Machine Learning Toolbox

[ bsd3, library, math ] [ Propose Tags ]

Haskell Machine Learning Toolkit includes various methods of supervised learning: linear regression, logistic regression, SVN, neural networks, etc. as well as some methods of unsupervised methods: K-Means and PCA.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,
Dependencies ascii-progress (>=, base (>=4.7 && <5), deepseq, hmatrix (>=, hmatrix-gsl (>=0.17), hmatrix-morpheus (>=, MonadRandom (>=, random (>=1.1), vector (>=0.11) [details]
License BSD-3-Clause
Copyright (c) 2016-2018 Alexander Ignatyev
Author Alexander Ignatyev
Category math
Home page
Source repo head: git clone
Uploaded by aignatyev17 at 2018-06-10T15:49:31Z
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 3398 total (12 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-06-10 [all 1 reports]

Readme for mltool-

[back to package description]

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