[pymvpa] Combinatorial MVPA

Bill Broderick billbrod at gmail.com
Wed Dec 2 18:27:26 UTC 2015

Hi all,

I'm trying to put together an analysis using "combinatorial MVPA", and I'm
not sure the best way to do it in PyMVPA.

Instead of using voxel intensities or voxel-wise betas, our input data is
26 time courses, one each for 25 networks and one for an ROI. For each time
course, we have a volume for each volume, so creating the dataset and
running regular MVPA is pretty straightforward.

However, to determine which timecourse is contributing the most to the
classifiers performance, we'd like to run the analysis with various
timecourses removed. So we'd run the analysis with all timecourses, 26
times with 25 timecourses (once with each timecourse removed), 26 choose 2
times with 24 time courses (once with each pair of timecourses removed),
etc. We would then use this to see which timecourses or which combination
of time courses caused the greatest drop in performance when removed.
That's what I'm referring to as "combinatorial MVPA" -- does that make

To do so, I figure I would use a meta-classifier of some kind, but I can't
figure out the way to split the data I'd like. NFoldPartitioner doesn't
work because it can only take sample attributes, and our time courses are
labeled with feature attributes. Splitter works, but can only split the
dataset into single feature attribute subsets. Basically, I'd like the
behavior of NFoldPartitioner, but using feature attributes. I figure I
could then use SplitClassifier to run a cross-validation for each of these
splits and have the results, well-labeled, in one dataset.

Right now, I figure I can use a big for loop through itertools.combinations
to determine which subset I want to keep, pass this to Splitter as
attr_values, and then hstack the result of Splitter's generator to get a
combined dataset. I could then run cross-validation on this to get the
results and, after the combinations for loop, try to combine the results
again. But this seems pretty hacky to me, is there a better way to do this?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-exppsy-pymvpa/attachments/20151202/1dfc0c74/attachment.html>

More information about the Pkg-ExpPsy-PyMVPA mailing list