<div dir="ltr"><div><div><div><div><div>Hi all,<br><br></div>I'm trying to put together an analysis using "combinatorial MVPA", and I'm not sure the best way to do it in PyMVPA.<br><br></div>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.<br><br></div>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 sense?<br><br></div>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. <br><br></div><div>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?<br><br></div><div>Thanks,<br></div><div>Bill<br></div></div>