The mltool package

[Tags:bsd3, library, test]

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]


Dependencies ascii-progress (>=, base (>=4.7 && <5), deepseq, hmatrix (>=, hmatrix-gsl (>=0.17), hmatrix-gsl-stats (>=, MonadRandom (>=, random (>=1.1), vector (>=0.11) [details]
License BSD3
Copyright (c) 2016-2017 Alexander Ignatyev
Author Alexander Ignatyev
Category math
Home page
Source repository head: git clone
Uploaded Thu Jun 29 17:56:18 UTC 2017 by aignatyev17
Distributions LTSHaskell:, NixOS:, Stackage:
Downloads 96 total (96 in the last 30 days)
1 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for mltool

Readme for mltool-

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.


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