| 17.10.2008: | MDP 2.4 released
(changes since last release):
- new parallel package - new nodes for Locally Linear Embedding dimensionality reduction - started code migration towards Python 3.0 |
| 15.05.2008: | MDP 2.3 released. |
Modular toolkit for Data Processing (MDP) is a Python data processing framework.
From the user's perspective, MDP is a collection of supervised and unsupervised learning algorithms and other data processing units that can be combined into data processing sequences and more complex feed-forward network architectures.
From the scientific developer's perspective, MDP is a modular framework, which can easily be expanded. The implementation of new algorithms is easy and intuitive. The new implemented units are then automatically integrated with the rest of the library.
The base of available algorithms is steadily increasing and includes, to name but the most common, Principal Component Analysis (PCA and NIPALS), several Independent Component Analysis algorithms (CuBICA, FastICA, TDSEP, and JADE), Slow Feature Analysis, Gaussian Classifiers, Restricted Boltzmann Machine, and Locally Linear Embedding.
To learn more about MDP:
- Introduction
- Full list of implemented algorithms
- Tutorial (pdf 830 KB)
- API
Using MDP is as easy as:
>>> import mdp >>> # perform pca on some data x ... >>> y = mdp.pca(x) >>> # perform ica on some data x using single precision ... >>> y = mdp.fastica(x, dtype='float32')
Installation
Requirements:Python ≥ 2.4, and NumPy ≥ 1.1 or Scipy ≥ 0.5.2. The symeig package is automatically used if installed.
Download:
You can download the last MDP release
here.
If you want to live on the bleeding edge, check out the MDP
svn repository: you
can browse the repository
or just check out the trunk with:
svn co https://mdp-toolkit.svn.sourceforge.net/svnroot/mdp-toolkit/mdp/trunk/mdp mdp
Thanks to Yaroslav Halchenko, Debian users can install the
python-mdp package.
Installation:
Unpack the archive file, enter the project directory and type:
python setup.py installIf you want to use MDP without installing it on the system Python path:
python setup.py install --prefix=/some_dir_in_PYTHONPATH/On Debian you can just type:
aptitude update aptitude install python-mdpOn Windows, the installation of the binary distribution is as easy as executing the installer and following the instructions.
Testing:
If you have successfully installed MDP, you can test your installation in a
Python shell as follows:
>>> import mdp >>> mdp.test()
Demos:
All the code examples shown in the MDP tutorial
can be found in the package installation path in the subdirectory
demo.
Maintainers
MDP has been originally written by Pietro Berkes and Tiziano Zito at the Institute for Theoretical Biology of the Humboldt University, Berlin in 2003.Current maintainers are:
Yaroslav Halchenko maintains the python-mdp Debian package.For comments, patches, feature requests, support requests, and bug reports (if any) you can use the users mailing list.
If you want to contribute some code or a new algorithm, please do not hesitate to submit it!
How to cite MDP
If you use MDP for scientific purposes, you may want to cite it. This is the official way to do it:
Berkes, P., Wilbert, N., and Zito, T. (2008)
Modular Toolkit for Data Processing (version 2.4)
http://mdp-toolkit.sourceforge.net
If your paper gets published, plase send us a reference (and even a copy if you don't mind).
