Multivariate Pattern Analysis in Python

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- PyMVPA Home |
- Sitemap »
- PyMVPA User Manual »
- Example Analyses and Scripts »

# Tiny Example of a Full Cross-Validation

Very, very simple example showing a complete cross-validation procedure with no fancy additions whatsoever.

    # get PyMVPA running
    from mvpa2.suite import *

    # load PyMVPA example dataset
    attr = SampleAttributes(os.path.join(pymvpa_dataroot,
                            'attributes_literal.txt'))
    dataset = fmri_dataset(samples=os.path.join(pymvpa_dataroot, 'bold.nii.gz'),
                           targets=attr.targets, chunks=attr.chunks,
                           mask=os.path.join(pymvpa_dataroot, 'mask.nii.gz'))

    # do chunkswise linear detrending on dataset
    poly_detrend(dataset, polyord=1, chunks_attr='chunks')

    # zscore dataset relative to baseline ('rest') mean
    zscore(dataset, chunks_attr='chunks', param_est=('targets', ['rest']))

    # select class face and house for this demo analysis
    # would work with full datasets (just a little slower)
    dataset = dataset[np.array([l in ['face', 'house'] for l in dataset.sa.targets],
                              dtype='bool')]

    # setup cross validation procedure, using SMLR classifier
    cv = CrossValidation(SMLR(), OddEvenPartitioner())

    # and run it
    error = np.mean(cv(dataset))

    # UC: unique chunks, UT: unique targets
    print "Error for %i-fold cross-validation on %i-class problem: %f" \
          % (len(dataset.UC), len(dataset.UT), error)

See also

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

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- PyMVPA Home |
- Sitemap »
- PyMVPA User Manual »
- Example Analyses and Scripts »