Quick Start

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') 

MDP requires the numerical Python extensions NumPy or SciPy. At import time MDP will select scipy if available, otherwise numpy will be loaded. You can force the use of a numerical extension by setting the environment variable MDPNUMX=numpy or MDPNUMX=scipy.

An important remark

Input data is assumed to be a two-dimensional numpy array, such that observations of variables are stored in the rows of the array, individual variables are stored in the columns. This means that one row contains one particular observation/measurement of all variables, and one column contains all observations/measurements of one particular variable.

For example, let’s call x, y, z the variables you are measuring and x1, x2, x3, x4 different observations/measurements of variable x, for example taken at time t1, t2, t3, t4.

The input 2-D numpy array should look like this:

    x1 y1 z1
X = x2 y2 z2
    x3 y3 z3
    x4 y4 z4

In this case X[:,0] gives you all rows corresponding to column 0, i.e. all observations of variable x: x1, x2, x3, x4.

On the other hand X[0,:] gives you al columns corresponding to row 0, i.e. all variables as they were measured at time 1: x1, y1, z1.