Dear all,<br>I am trying to run a very simple searchlight on fMRI data via PyLab (on Mac Leopard).<br><br>My code is as follows:<br><br>from mvpa.suite import *<br>import os<br>from matplotlib.pyplot import figure, show<br>
from mvpa.misc.io.base import SampleAttributes<br>from mvpa.datasets.nifti import NiftiDataset<br><br>if __debug__:<br> debug.active += ["SLC"]<br><br>attr = SampleAttributes(os.path.join(pymvpa_dataroot, 'attributes_test.txt'))<br>
dataset = NiftiDataset(samples=os.path.join(pymvpa_dataroot, 'time_series_original_run_all.nii.gz'),<br> labels=attr.labels,<br> chunks=attr.chunks,<br> mask=os.path.join(pymvpa_dataroot, 'anatomy_mask.nii.gz'))<br>
detrend(dataset, perchunk=True, model='linear')<br>zscore(dataset, perchunk=True, baselinelabels=[1], targetdtype='float32')<br><br># choose classifier<br>clf = LinearCSVMC()<br><br># setup measure to be computed by Searchlight<br>
# cross-validated mean transfer using an Odd-Even dataset splitter<br>cv = CrossValidatedTransferError(TransferError(clf),<br> OddEvenSplitter())<br><br>cv = CrossValidatedTransferError(<br>
transfer_error=TransferError(LinearCSVMC(), <br> splitter=OddEvenSplitter())<br>s1 = Searchlight(cv, radius=5)<br>s1_map = s1(dataset)<br>dataset.map2Nifti(s1_map).save('searchlight_5mm.nii.gz')<br>
<br>---<br><br>this runs fine for a while and then it crashes and gives me the following errors which I am not sure what they mean.<br><br>optimization finished, #iter = 59<br>nu = 0.775000<br>obj = -0.000003, rho = -0.999986<br>
nSV = 67, nBSV = 57<br>Total nSV = 414<br>---------------------------------------------------------------------------<br>ValueError Traceback (most recent call last)<br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/<ipython console> in <module>()<br>
<br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/measures/base.pyc in __call__(self, dataset)<br> 103 container applying transformer if such is defined<br> 104 """<br>
--> 105 result = self._call(dataset)<br> 106 result = self._postcall(dataset, result)<br> 107 return result<br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/measures/searchlight.pyc in _call(self, dataset)<br>
106 <br> 107 # compute the datameasure and store in results<br><br>--> 108 measure = self.__datameasure(sphere)<br> 109 results.append(measure)<br> 110 <br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/measures/base.pyc in __call__(self, dataset)<br>
103 container applying transformer if such is defined<br> 104 """<br>--> 105 result = self._call(dataset)<br> 106 result = self._postcall(dataset, result)<br> 107 return result<br>
<br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/algorithms/cvtranserror.pyc in _call(self, dataset)<br> 171 <br> 172 # run the beast<br><br>--> 173 result = transerror(split[1], split[0])<br>
174 <br> 175 # unbind the testdataset from the classifier<br><br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/clfs/transerror.pyc in __call__(self, testdataset, trainingdataset)<br>
1300 Returns a scalar value of the transfer error.<br> 1301 """<br>-> 1302 self._precall(testdataset, trainingdataset)<br> 1303 error = self._call(testdataset, trainingdataset)<br>
1304 self._postcall(testdataset, trainingdataset, error)<br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/clfs/transerror.pyc in _precall(self, testdataset, trainingdataset)<br>
1256 self.__clf.states._changeTemporarily(<br> 1257 enable_states=['training_confusion'])<br>-> 1258 self.__clf.train(trainingdataset)<br> 1259 if self.states.isEnabled('training_confusion'):<br>
1260 self.training_confusion = self.__clf.training_confusion<br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/clfs/base.pyc in train(self, dataset)<br>
366 <br> 367 if dataset.nfeatures > 0:<br>--> 368 result = self._train(dataset)<br> 369 else:<br> 370 warning("Trying to train on dataset with no features present")<br>
<br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/clfs/libsvmc/svm.pyc in _train(self, dataset)<br> 185 libsvm_param._setParameter('weight', weight)<br>
186 <br>--> 187 self.__model = svm.SVMModel(svmprob, libsvm_param)<br> 188 <br> 189 <br><br>/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/mvpa/clfs/libsvmc/_svm.pyc in __init__(self, arg1, arg2)<br>
267 msg = svmc.svm_check_parameter(prob.prob, param.param)<br> 268 if msg:<br>--> 269 raise ValueError, msg<br> 270 self.model = svmc.svm_train(prob.prob, param.param)<br>
271 <br><br>ValueError: C <= 0<br><br><br>-------<br><br>Your input would be greatly appreciated.<br><br>Thanks a lot,<br>J<br><br>