Latest Release

linuxLinux (old)

Source Code

    git repository

Binary Packages:

MLDemos 0.5.2 for Windows
minimum requirements: XP SP3
MLDemos 0.5.2 for Mac
minimum requirements: Snow Leopard
MLDemos 0.3.2_CDE
minimum requirements: kernel 2.6.X
thanks to Philip Guo (website)


The packages contain binary versions of a number of opensource libraries. I am including them here with the knowledge that this might not be entirely compatible with the distribution policies of each respective library. I will try to contact and get the necessary permissions, to the extent to which this is possible, from the related parties. In the meantime, I distribute this software in good faith, my goal is for people to be able to study and work with the different methods implemented here. See the acknowledgements section below for a list of the people who contributed.
You are free to use this software for personal and educational purposes, you are not allowed to use it for commercial purposes. You can redistribute the software as long as you provide a link to this page. Then again, this page will always link to the latest version of the software so you may be better off taking the version here anyway.

Source Code:

The MLDemos source code can be obtained directly via git or from the public repository (get the devel branch for the latest release)

git clone git:// -b devel

public GIT repository
source_backup (0.3.0)

The code requires Qt (4.8) and (in part) OpenCV (2.2) and Boost (1.47). Previous versions of these libraries might work as well but you might as well use the newer version. Be sure to adjust your include and lib paths to point them to the correct directories.

The software was compiled and tested on Mac OSX Snow Leopard, Windows XP/7, Gentoo, Ubuntu and Kubuntu 10.04, using QtCreator 2.1 and 2.6.

- Windows
In order to compile MLDemos in windows, you will need MinGW (commonly installed with the QtSDK for MinGW

- Debian
Prof. Barak A. Pearlmutter has created a debian package, which will be available soon. In the meantime you can build it following the instruction below:
 git clone git://
 cd mldemos
 git checkout debian
 fakeroot debian/rules binary
 sudo dpkg --install ../mldemos_*.deb

Note: OpenCV 2.4 is not available directly (only 2.1 is), which will require you to build OpenCV2.4. This is only necessary to use MLP and Boosting. These are two important algorithms, so you might as well make the effort:
 git clone git://
 cd opencv
 git checkout master
 fakeroot debian/rules binary
 sudo dpkg --install ../*opencv*.deb

Again, a huge thanks to Barak!

Known Bugs
  • WINDOWS: Clearing the canvas while in the 3D display leaves part of the memory occupied, which can accumulate when this is done several times (part of a memory bug on Windows only)
  • LINUX (CDE package) loading and saving of external files does not work
  • Approximate KNN classification creates weird blank spaces on some machines and with some metrics.
  • Saving does not work on the linux CDE package
  • Resizing the canvas when a reward map has been drawn does not update the underlying data (avoid doing it).
  • In Boosting, changing the data does not recompute the learners, which can lead to bad results if the data has changed boundaries significantly
What's New (Changelog)
New Visualization and Dataset Features
  • Added 3D visualization of samples and classification, regression and maximization results
  • Added Visualization panel with individual plots, correlations, density, etc.
  • Added Editing tools to drag/magnet data, change class, increase or decrease dimensions of the dataset
  • Added categorical dimensions (indexed dimensions with non-numerical values)
  • Added Dataset Editing panel to swap, delete and rename dimensions, classes or categorical values
  • Several bug-fixes for display, import/export of data, classification performance
New Algorithms and methodologies
  • Added Grid-Search panel for batch-testing ranges of values for up to two parameters at a time
  • Added One-vs-All multi-class classification for non-multi-class algorithms
  • Trained models can now be kept and tested on new data (training on one dataset, testing on another)
  • Added Automatic Relevance Determination for SVM with RBF kernel (Thanks to Ashwini Shukla!)
  • Added Growing Hierarchical Self Organizing Maps (original code by Michael Dittenbach)
  • Added Random Forest classification
  • Added LDA as a classifier (in addition to projector)
  • Added Save/Load Model option for GMMs and SVMs