<div dir="ltr"><div><div><div>Hello All,<br><br>I'm trying to use the scikit-learn implementation of PCA because the pymvpa/mdp version seems to end in a meomory error.<br><br></div>All I'm doing is wrapping the scikit-learn pca in the SKLTransformer like so:<br><br>SKPCA = SKLTransformer(PCA())<br><br></div>and then attempting:<br><br>newds = ds.get_mapped(SKPCA)<br><br></div>but I get the error:<br><br><pre><span class="">---------------------------------------------------------------------------</span>
<span class="">TypeError</span>                                 Traceback (most recent call last)
<span class=""><ipython-input-191-3fb69e6da8d4></span> in <span class=""><module><span class="">()</span>
<span class="">     60</span> </span>zscore<span class="">(</span>ds<span class="">,</span> chunks_attr<span class="">=</span>None<span class="">)</span><span class=""></span>
<span class="">     61</span> <span class=""></span>
<span class="">---> 62<span class=""> </span>newds</span> <span class="">=</span> ds<span class="">.</span>get_mapped<span class="">(</span>SKPCA<span class="">)</span><span class=""></span>

<span class="">/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/datasets/base.pyc</span> in <span class="">get_mapped<span class="">(self, mapper)</span>
<span class="">     52</span>         <span class="">#  forward would lead to different behavior</span><span class=""></span><span class=""></span></span>
<span class="">     53</span>         <span class="">#mds = mapper(self)</span><span class=""></span><span class=""></span>
<span class="">---> 54<span class="">         </span>mds</span> <span class="">=</span> mapper<span class="">.</span>forward<span class="">(</span>self<span class="">)</span><span class=""></span>
<span class="">     55</span>         mds<span class="">.</span>_append_mapper<span class="">(</span>mapper<span class="">)</span><span class=""></span>
<span class="">     56</span>         <span class="">return</span> mds<span class=""></span>

<span class="">/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/mappers/base.pyc</span> in <span class="">forward<span class="">(self, data)</span>
<span class="">    185</span>                 debug('MAP', "Forward-map %s-shaped dataset through '%s'."
<span class="">    186</span>                         % (data.shape, self))
<span class="">--> 187<span class="">             <span class="">return</span> </span>self</span><span class="">.</span></span>_forward_dataset<span class="">(</span>data<span class="">)</span><span class=""></span>
<span class="">    188</span>         <span class="">else</span><span class="">:</span><span class=""></span>
<span class="">    189</span>             <span class="">if</span> hasattr<span class="">(</span>data<span class="">,</span> <span class="">'ndim'</span><span class="">)</span> <span class="">and</span> data<span class="">.</span>ndim <span class=""><</span> <span class="">2</span><span class="">:</span><span class=""></span>

<span class="">/home/orkney_01/tnickson/Programming/pyVirtualEnv/lib/python2.6/site-packages/mvpa2/mappers/skl_adaptor.pyc</span> in <span class="">_forward_dataset<span class="">(self, ds)</span>
<span class="">     89</span>             </span>self<span class="">.</span>_set_trained<span class="">(</span><span class="">)</span><span class=""></span>
<span class="">     90</span>         <span class="">else</span><span class="">:</span><span class=""></span>
<span class="">---> 91<span class="">             </span>out</span> <span class="">=</span> tf<span class="">.</span>transform<span class="">(</span>ds<span class="">.</span>samples<span class="">,</span> self<span class="">.</span>_get_y<span class="">(</span>ds<span class="">)</span><span class="">)</span><span class=""></span>
<span class="">     92</span>         <span class="">return</span> out<span class=""></span>

<span class="">TypeError</span>: transform() takes exactly 2 arguments (3 given)
<br><br>SKPCA.train(ds) works fine but forward does not and throws the same error.<br><br></pre><pre>Any thoughts?<br><br>Thanks,<br><br></pre><pre>TOm<br></pre><br></div>