[pymvpa] Using PLR with multiclass

Swaroop Guntupalli swaroopgj at gmail.com
Wed Mar 1 19:03:38 UTC 2017


Sorry, I didn't look carefully.

You are right.
Looks like you might have to modify plr.py to change any targets of input
dataset to {0,1} at line 72 (it needs `d` updated to contain only {0,1}.

Or modify BinaryClassifier to assign 0 instead of 1 for labels
at lines 1015-1017 and update the assert at line 1051, and predictions at
line 1066.

Not straightforward.
Swaroop


On Wed, Mar 1, 2017 at 1:43 PM, Neal Morton <mortonne at gmail.com> wrote:

> I have four classes, so I can’t just use {0,1}. It looks like no matter
> what the sample attributes of the input dataset are, MulticlassClassifier
> will send {-1,1} to the classifier.
>
>
>
> It looks like I need to either modify what MulticlassClassifier is sending
> to PLR, or change PLR to handle other labels.
>
>
>
>
>
> *From: *Pkg-ExpPsy-PyMVPA <pkg-exppsy-pymvpa-bounces+mortonne=
> gmail.com at lists.alioth.debian.org> on behalf of Swaroop Guntupalli <
> swaroopgj at gmail.com>
> *Reply-To: *Development and support of PyMVPA <
> pkg-exppsy-pymvpa at lists.alioth.debian.org>
> *Date: *Wednesday, March 1, 2017 at 12:38 PM
> *To: *Development and support of PyMVPA <pkg-exppsy-pymvpa at lists.aliot
> h.debian.org>
> *Subject: *Re: [pymvpa] Using PLR with multiclass
>
>
>
> Does it help if you assign targets in your sample attributes to {0,1}
> instead?
>
>
>
> On Wed, Mar 1, 2017 at 1:13 PM, Neal Morton <mortonne at gmail.com> wrote:
>
> Is there a way to use PLR with a multiclass problem? When I try to use the
> MulticlassClassifier, that produces binary labels with -1 and 1. But PLR
> expects 0 and 1.
>
>
>
> The classifier is created like so:
>
>
>
> from mvpa2.clfs.plr import PLR
>
> from mvpa2.clfs.meta import MulticlassClassifier
>
> clf = MulticlassClassifier(PLR(lm=10))
>
>
>
> When I try to train the classifier on an fMRI dataset with four classes, I
> get:
>
>
>
> Traceback (most recent call last):
>
>   File "/home1/03206/mortonne/analysis/bender/mvpa/loc_xval_diag.py",
> line 98, in <module>
>
>     clf.train(ds1)
>
>  File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/base/learner.py",
> line 137, in train
>
>     self._train(ds)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/clfs/meta.py",
> line 1165, in _train
>
>     CombinedClassifier._train(self, dataset)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/clfs/meta.py",
> line 628, in _train
>
>     BoostedClassifier._train(self, dataset)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/clfs/meta.py",
> line 118, in _train
>
>     clf.train(dataset)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/base/learner.py",
> line 137, in train
>
>     self._train(ds)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/clfs/meta.py",
> line 1053, in _train
>
>     self.clf.train(datasetselected)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/base/learner.py",
> line 137, in train
>
>     self._train(ds)
>
>   File "/work/IRC/ls5/lib/python2.7/site-packages/mvpa2/clfs/plr.py",
> line 76, in _train
>
>     %(set(d),)
>
> ValueError: Regressors for logistic regression should be [0,1]. Got
> set([1, -1])
>
>
>
>
>
> I have the latest versions of meta.py and plr.py. There was a change
> <https://github.com/PyMVPA/PyMVPA/issues/37> in PLRWeights to support
> different values of labels, but that change doesn’t seem to have affected
> the PLR classifier.
>
>
>
> Thanks,
>
> Neal
>
>
>
>
> _______________________________________________
> 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
>
>
>
> _______________________________________________ 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
>
> _______________________________________________
> 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/20170301/3f03bcd2/attachment.html>


More information about the Pkg-ExpPsy-PyMVPA mailing list