| Multivariate Pattern Analysis in Python

### Navigation

- index
- next |
- previous |
- ExpPsy Project |
- NeuroDebian Project |
- PyMVPA 0.4.x Home |
- PyMVPA Home |
- Documentation »
- Full Examples »

This content refers to the previous stable release of PyMVPA. Please visit www.pymvpa.org for the most recent version of PyMVPA and its documentation.

# Visualization of Data Projection Methods

    from mvpa.misc.data_generators import noisy_2d_fx
    from mvpa.mappers.pca import PCAMapper
    from mvpa.mappers.svd import SVDMapper
    from mvpa.mappers.ica import ICAMapper
    from mvpa import cfg

    import pylab as P
    import numpy as N
    center = [10, 20]
    axis_range = 7

    def plotProjDir(mproj):
        p = mproj + N.array(center).T

        P.plot([center[0], p[0,0]], [center[1], p[0,1]], hold=True)
        P.plot([center[0], p[1,0]], [center[1], p[1,1]], hold=True)

    mappers = {
                'PCA': PCAMapper(),
                'SVD': SVDMapper(),
                'ICA': ICAMapper(),
              }
    datasets = [
        noisy_2d_fx(100, lambda x: x, [lambda x: x],
                    center, noise_std=.5),
        noisy_2d_fx(50, lambda x: x, [lambda x: x, lambda x: -x],
                    center, noise_std=.5),
        noisy_2d_fx(50, lambda x: x, [lambda x: x, lambda x: 0],
                    center, noise_std=.5),
       ]

    ndatasets = len(datasets)
    nmappers = len(mappers.keys())

    P.figure(figsize=(8,8))
    fig = 1

    for ds in datasets:
        for mname, mapper in mappers.iteritems():
            mapper.train(ds)

            dproj = mapper.forward(ds.samples)
            mproj = mapper.proj
            print mproj

            P.subplot(ndatasets, nmappers, fig)
            if fig <= 3:
                P.title(mname)
            P.axis('equal')

            P.scatter(ds.samples[:, 0],
                      ds.samples[:, 1],
                      s=30, c=(ds.labels) * 200)
            plotProjDir(mproj)
            fig += 1

    if cfg.getboolean('examples', 'interactive', True):
        P.show()

Output of the example:

See also

The full source code of this example is included in the PyMVPA source distribution (doc/examples/projections.py).

### Navigation

- index
- next |
- previous |
- ExpPsy Project |
- NeuroDebian Project |
- PyMVPA 0.4.x Home |
- PyMVPA Home |
- Documentation »
- Full Examples »