[pymvpa] searchlight for data with different runs with different masks

Kaustubh Patil kaustubh.patil at gmail.com
Sat Jan 16 04:28:35 UTC 2016


Thanks again Yaroslav.

I agree that the classifier might end up giving 0 or very small balanced
accuracy (or micro accuracy) values but I think thats still a better
measure than using overall accuracy  (or macro accuracy). There are couple
of other measures that can be useful for imbalanced datasets:

1. A-mean: arithmetic mean, same as average class-wise accuracy or
micro-accuracy
2. G-mean: geometric mean instead of arithmetic mean above
3. F-measure
4. Area under the ROC curve

Of course a better solution would be using a classifier that can handle
imbalanced datasets, as you suggested. I have previously used SVMperf that
can optimize AU-ROC:
https://www.cs.cornell.edu/people/tj/svm_light/svm_perf.html

Not sure how easy it is to incorporate new classifiers in PyMVPA but I
could give it a try with some guideline.

Best regards,
Kaustubh




On Fri, Jan 15, 2016 at 11:08 PM, Yaroslav Halchenko <debian at onerussian.com>
wrote:

>
> On Fri, 15 Jan 2016, Kaustubh Patil wrote:
>
> >    Thanks Yaroslav.
>
> >    I tried your solution and it seems to work for this particular
> dataset but
> >    unfortunately not for other datasets as the labels cannot be balanced
> >    easily.
>
> >    Maybe it's possible to directly calculate balanced measures in the
> CV? I
> >    guess I will have to change the code to do that, any suggestions
> where to
> >    start?
>
> some toolboxes compute 'mean of within class accuracies' (not mean
> overall accuracy) which allows to account for disbalance.  I guess we
> could code it quite easily if you like
>
> BUT the problem really would remain:  with small number of samples
> classifier might just take the "majority" label since it would minimize
> error more than low performace decision.  So you would hurt yourself
> more than help.
>
> another solution is to try a classifier which provides weighting
> to the classes, e.g. as GNB with default prior setting does.  you could
> try it and see how it goes.  It is not the greatest classifier but a
> start. then you could add similar class weighting to some other
> classifiers supporting that.
>
> >    Best regards
> >    On Sat, Dec 19, 2015 at 3:51 PM, Yaroslav Halchenko
> >    <debian at onerussian.com> wrote:
>
> >      On Sat, 19 Dec 2015, Kaustubh Patil wrote:
>
> >      > Hi,
>
> >      > I want to use PyMVPA for whole-brain searchlight analysis on some
> >      existing
> >      > data. The data has been already preprocessed (skull stripping,
> motion
> >      > correction etc.). Each subject data contains 10 runs and each run
> was
> >      processed
> >      > separately, so there is a separate full brain boolean mask for
> each
> >      run.
>
> >      > My question is what is the recommended/correct a way to use this
> data
> >      to
> >      > perform run-wise cross-validation searchlight?
>
> >      you have a problem here, since you have done per run preprocessing,
> in
> >      particular motion-correction, your volumes are misaligned across
> runs.
> >      (used FSL, didn't you? )
>
> >      ideally, you redo preprocessing while motion correcting to the same
> >      volume across all the runs.A  Alternatively, you reslice all the
> runs
> >      into the same space (could well be the common space your toolkit
> used
> >      for analysis across runs -- common anatomical or MNI) and then do
> >      analysis there, while again unifying your mask, which must be the
> same
> >      across all the runs.
> >      > As I understand, each run has to be in the same space (same
> number of
> >      voxels)
> >      > so that training and test can be performed, so the whole brain
> masks
> >      have to be
> >      > somehow aligned. How would you recommend doing this?
>
> >      it is not a mere 'number of voxels' problem but rather that you have
> >      misaligned across runs volumes.A  if just voxel number -- choose
> >      intersection of all masks.
> --
> Yaroslav O. Halchenko
> Center for Open Neuroscience     http://centerforopenneuroscience.org
> Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
> Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
> WWW:   http://www.linkedin.com/in/yarik
>
> _______________________________________________
> Pkg-ExpPsy-PyMVPA mailing list
> Pkg-ExpPsy-PyMVPA at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-exppsy-pymvpa/attachments/20160115/46fc131f/attachment-0001.html>


More information about the Pkg-ExpPsy-PyMVPA mailing list