<div dir="ltr">Does it help if you assign targets in your sample attributes to {0,1} instead?</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 1, 2017 at 1:13 PM, Neal Morton <span dir="ltr"><<a href="mailto:mortonne@gmail.com" target="_blank">mortonne@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72"><div class="m_2672006612041478930WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt">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.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">The classifier is created like so:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">from mvpa2.clfs.plr import PLR<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">from mvpa2.clfs.meta import MulticlassClassifier<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">clf = MulticlassClassifier(PLR(lm=<wbr>10))<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">When I try to train the classifier on an fMRI dataset with four classes, I get:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">Traceback (most recent call last):<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/home1/03206/mortonne/<wbr>analysis/bender/mvpa/loc_xval_<wbr>diag.py", line 98, in <module><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    clf.train(ds1)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/base/<wbr>learner.py", line 137, in train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    self._train(ds)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/clfs/meta.<wbr>py", line 1165, in _train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    CombinedClassifier._train(<wbr>self, dataset)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/clfs/meta.<wbr>py", line 628, in _train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    BoostedClassifier._train(self, dataset)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/clfs/meta.<wbr>py", line 118, in _train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    clf.train(dataset)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/base/<wbr>learner.py", line 137, in train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    self._train(ds)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/clfs/meta.<wbr>py", line 1053, in _train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    self.clf.train(<wbr>datasetselected)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/base/<wbr>learner.py", line 137, in train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    self._train(ds)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">  File "/work/IRC/ls5/lib/python2.7/<wbr>site-packages/mvpa2/clfs/plr.<wbr>py", line 76, in _train<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">    %(set(d),)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">ValueError: Regressors for logistic regression should be [0,1]. Got set([1, -1])<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">I have the latest versions of meta.py and plr.py. There was a <a href="https://github.com/PyMVPA/PyMVPA/issues/37" target="_blank">change</a> in PLRWeights to support different values of labels, but that change doesn’t seem to have affected the PLR classifier.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"> <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">Thanks,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt">Neal<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt"><u></u> <u></u></span></p></div></div>
<br>______________________________<wbr>_________________<br>
Pkg-ExpPsy-PyMVPA mailing list<br>
<a href="mailto:Pkg-ExpPsy-PyMVPA@lists.alioth.debian.org">Pkg-ExpPsy-PyMVPA@lists.<wbr>alioth.debian.org</a><br>
<a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-exppsy-pymvpa" rel="noreferrer" target="_blank">http://lists.alioth.debian.<wbr>org/cgi-bin/mailman/listinfo/<wbr>pkg-exppsy-pymvpa</a><br></blockquote></div><br></div>