mltool-0.1.0.0: README.md
## Machine Learning Toolbox
[](https://travis-ci.org/Alexander-Ignatyev/mltool)
[](https://coveralls.io/github/Alexander-Ignatyev/mltool)
[](https://alexander-ignatyev.github.io/mltool-docs/doc/index.html)
### 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.
### Usage
#### Build the project
stack build
#### Run samples app
Please run sample app from root dir (because paths to training data sets are hardcoded).
```bash
cd samples
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
### Examples
* Linear Regression: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/linear_regression/Main.hs);
* Logistic Regression: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/logistic_regression/Main.hs);
* Multiclass Logistic Regression: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/digits_classification/Main.hs);
* Multiclass Logistic Regression with PCA: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/digits_classification_pca/Main.hs);
* Multiclass Support Vector Machine: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/digits_classification_svm/Main.hs);
* Neural Networks: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/neural_networks/Main.hs);
* K-Means: [source code](https://github.com/Alexander-Ignatyev/mltool/blob/master/samples/kmeans/Main.hs).