Orange Forum • View topic - SVM ValueError

SVM ValueError

A place to ask questions about methods in Orange and how they are used and other general support.

SVM ValueError

Postby re832003 » Wed Jul 18, 2012 6:28

I'm trying to use the SVM classifier for my data, which works very well for all other classifiers but I keep getting this error message: "ValueError: 4 is not in list"

More details:

C:\Python27>python orangeClassifiers.py
Traceback (most recent call last):
File "orangeClassifers.py", line 8, in <module>
cv = Orange.evaluation.testing.leave_one_out(learners, iris)
File "C:\Python27\lib\site-packages\Orange\utils\__init__.py", line 199, in wr
ap_call
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\Orange\evaluation\testing.py", line 317, i
n leave_one_out
store_classifiers=store_classifiers, store_examples=store_examples)
File "C:\Python27\lib\site-packages\Orange\utils\__init__.py", line 199, in wr
ap_call
return func(*args, **kwargs)
File "C:\Python27\lib\site-packages\Orange\evaluation\testing.py", line 356, i
n test_with_indices
results, classifiers = self.one_fold_with_indices(learners, examples, fold,
indices, preprocessors, weight)
File "C:\Python27\lib\site-packages\Orange\evaluation\testing.py", line 383, i
n one_fold_with_indices
classifiers = [learner(learn_set, weight) for learner in learners]
File "C:\Python27\lib\site-packages\Orange\classification\svm\__init__.py", li
ne 180, in __call__
return self.learn_classifier(examples)
File "C:\Python27\lib\site-packages\Orange\classification\svm\__init__.py", li
ne 186, in learn_classifier
return SVMClassifier(svm)
File "C:\Python27\lib\site-packages\Orange\classification\svm\__init__.py", li
ne 289, in __init__
label_map = self._get_libsvm_labels_map()
File "C:\Python27\lib\site-packages\Orange\classification\svm\__init__.py", li
ne 468, in _get_libsvm_labels_map
return [labels.index(i) for i in range(len(labels))]
ValueError: 4 is not in list

Any ideas?

Thanks

Re: SVM ValueError

Postby Ales » Wed Jul 18, 2012 10:17

Yes. I think this is a bug in the wrapper code around LibSVM.
It does not handle the case where a class value has no instances in the training data and therefore the underlying libsvm model does not include it.

Re: SVM ValueError

Postby re832003 » Wed Jul 18, 2012 15:57

But this is not the case here. Below is my toy training set and as you see there are 6 classes and all of them have instances, so where is the problem then? or how can this be solved?

SSA UserID TH/RH Opinion_lex Polarity_lex Emoticons Verb_Person Verb_Tense Gram. Role Hashtags URL URL_Com Code_S Sarcasm Modal Mood Q_type Intens Solidarity Distancing TERM
d d d d d d d d d d d d d d d d d d d d d
class
O2 F N N PS NA NA NA NA NA N N N N N S NA N N N NA
O2 F N N PS NA 3 PS SJ NA N N N N N S NA N N N NA
S136 F Y Y NG NA 1,3 PS,PR SJ NA N N N N N S NA N N Y H
S136 F N N NG NA 3 PR SJ NA N N N N N S NA N N N NA
O2 F N N NA NA NA NA NA NA N N N N N S NA N N N NA
S136 F N N NG NA 3 PR SJ NA N N N N N S NA N N N NA
S136 F N N NA NA 3 PR SJ NA N N N N N Q RH Y N N NA
S136 F N N NG NA 2,3 PR SJ,OJ NA N N N N N S NA Y N Y NA
S136 F N N NG NA 3 PR SJ NA N N N N N Q RH Y N N NA
S136 F N N PS NA 1,3 PS,PR SJ,OJ NA N N N N N S NA N N N NA
O1 F N N NA NA 3 FT SJ TP N N N N N Q RH Y N N NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
S235 F N N PS NA 3 PR SJ NA N N N N N S NA Y N N NA
S135 F N N NA NA 1 PR SJ,OJ NA N N N N N S NA Y Y N NA
S135 F N N PS NA 1,3 PS SJ,OJ NA N N N N N S NA N Y Y NA
O2 F N N NA NA NA NA NA NA N N N N N S NA N N N NA
S136 F N N NG NA 3 PS,PR SJ NA N N N N Y S NA Y N N NA
S136 F N N NG NA 3 FT SJ NA N N N N N S NA N N Y NA
S135 F N N PS NA 1,2 PR SJ NA N N N N N I NA Y Y N NA
S136 F N N NG NA 1,3 PS,FT SJ NA N N N N N S,C NA Y N Y NA
S136 F N N NG NA 3 PR SJ NA N N N N N S NA N N N NA
S136 F N N NG NA 3 FT SJ,OJ NA N N N N N C NA Y N N NA
S136 F N N NG NA 3 FT SJ NA N N N N N C NA Y N N NA
S136 F N N NG NA 1,3 PR SJ NA N N N N N Q RH Y Y N NA
S136 F N N NA NA 3 PR SJ,OJ NA N N N N N Q RH Y N N NA
S135 F N N PS NA NA NA NA NA N N N N Y S NA N N N H
O1 F N N NG NA NA NA NA NA N N N N Y S NA N N N H
S136 F N N NG NA 1,3 PR SJ NA N N N N N S NA Y N Y NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
S136 F N N NG NA 1,2,3 PR SJ,OJ NA N N N N N S,I NA Y N Y NA
S136 F N N NG NA 1,3 PR,FT SJ,OJ NA N N Y N N S NA Y N Y NA
S136 F N N NG NA 3 PR SJ.OJ NA N N N N N S NA N N N NA
S136 F Y Y NG,PS NA 3,1 PS,PR SJ,SJ NA N N N N N S NA N N Y NA
S236 F N N NA NA 2,3 PR SJ NA N N N N N Q RH Y Y N NA
S136 F N N NG NA NA NA NA NA N N N N Y S NA N N N NA
S136 F Y N NG,PS NA 3 PS SJ NA N N N Y N S NA N N N NA
O2 F N N NA NA NA NA NA NA N N N N N S NA N N N NA
S236 F N N NG NA 3 PS SJ NA N N N N N S NA N N N NA
S236 F N N NA NA NA NA NA NA N N N N N S NA Y N N NA
S136 F N Y NG NA 1,3 PS,PR,PG SJ NA N N N N Y S NA N N N N
S236 F N N NG NA 3 PR SJ NA N N N Y N S NA Y N N N
S136 F N N NG NA 3 PR,PG SJ NA N N N Y N S NA Y N Y N
S136 F N N NG NA 1,3 PR,FT SJ NA N N N Y N C NA Y N Y NA
S136 F Y N NG NA 3 PR SJ NA N N Y Y N S NA Y N Y NA
S136 F N N NG NA 3 PR SJ NA N N N N N S NA Y Y Y NA
S236 F N N NA NA 2 PR SJ NA N N N Y N I NA Y N Y NA
S136 F N N NG NA 3 PR SJ NA N N N N N S NA N N N NA
S236 F N N NA NA NA NA NA NA N N N Y N S NA Y N N NA
S136 F N N NG NA 3 PG SJ NA N N N N N S NA N N N NA
S236 F Y N NA NA 3 PR SJ NA N N N Y N S NA Y N N NA
S136 F N N NG NA 2,3 PS,PR,FT SJ,OJ NA N N N N N S NA Y Y Y NA
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N NA
O1 F N N NG NA NA NA NA NA N N N N N S NA N N N N
S136 F N N NG NA 3 PR,PG SJ,OJ NA N N N N N S NA N Y Y NA
S236 F N N NG NA 3 PS,PR SJ NA N N N N N S NA N Y Y N
S136 F Y N NG NA 1,3 PS,PR SJ,OJ NA N N Y Y N S,Q RH N Y Y N
S236 F N N NG NA 2 PR SJ NA N N N Y N S,I RH Y N Y N
O1 F N N NA NA 3 PR SJ NA N N N N N S NA N N N N
S136 F N N NG NA NA NA OJ NA N N N N N S NA N N N NA
S136 F N N NG NA 3 PG SJ,OJ NA N N N Y N Q RH Y N N N
O1 F N N NA NA 3 PR SJ,OJ NA N N N N N S NA N N N NA
S136 F Y N NG NA 1 PR SJ NA N N Y N N S NA N N Y N
O1 F N N NG NA 2 PR SJ NA N N N N N C NA N N Y NA
O1 F N N NG NA 3 PS,PR SJ,OJ NA N N N N N S NA N N N NA
O2 F N N NG NA 3 PG SJ NA N N N N N S NA N N N NA
S136 F N N NG NA 1 FT SJ NA N N N N N S NA N Y N NA
O1 F N N NA NA NA NA NA NA N N N N N N NA N N N NA
S136 F N N NG NA 1,3 PR SJ,OJ NA N N Y Y N S NA Y N Y NA
S136 F N N NG NA 3 FT SJ NA N N N Y Y S NA Y N Y NA
S136 F N N NG NA 1,3 PR SJ NA N N N N N S NA Y Y Y NA
S136 F N N NG NA 3 PR SJ NA N N N Y N S NA Y N N NA
S136 F N N NG NA 3 PS SJ,OJ NA N N N Y N S NA N N N NA
O2 F N N NG NA NA NA NA NA N N N N N S NA N N N H
S135 F N N NG NA 3 PS SJ NA N N N N Y S NA Y N N NA
S136 F Y N PS NA 1 PS SJ NA N N N Y N S NA Y Y N NA
S136 F N N NG NA 3 PR SJ NA N N N Y Y S NA Y N N NA
O1 F N N NG NA 3 PR SJ NA N N N N N S NA N N N NA
S136 F N N NG NA 1,3 PS,PR SJ NA N N N N N Q RH Y Y N NA
S136 F N N NG NA NA NA NA NA N N N N Y I NA N N N NA
S136 F Y N NG NA 2,3 PR,FT SJ,OJ NA N N N N N S,I NA N N Y NA
S136 F N N NG NA 3 PR SJ,OJ NA N N N Y N S NA N N Y NA
S136 F N N NG NA 1,3 PR SJ,OJ NA N N N Y N S NA Y N N NA
S236 F N N NA NA NA NA NA NA N N N Y N S NA Y N N NA
S135 F N Y NG,PS NA 3 PR SJ NA N N N N N S NA N N N NA
S136 F Y N NA NA 1,2,3 PS,PR SJ NA N N N N N S NA N N Y NA
S136 F N Y NG NA 3 PG SJ NA N N N N N S NA N N N NA
S135 F N N NG NA 3 PG SJ NA N N N N N S NA Y N N NA
S135 F N N NG NA 3 PR SJ,OJ NA N N N N N S NA N Y N NA
S136 F N N NG NA 2 PR SJ NA N N N N N I NA Y Y N NA
S136 F Y Y NA NA 3 PS,PR,PG SJ NA N N N Y Y S NA Y N N N
S136 F N N NG NA 1,3 PR SJ,OJ NA N N N N N Q RH Y Y Y NA
O1 F N N NA NA 3 PS SJ NA N N N N N S NA N N N NA
S136 F Y N NA NA 3 FT SJ NA N N N N N C NA Y N N H
S136 F Y N NG NA 3 PG SJ NA N N N N N S NA Y Y N NA
S136 F Y N NA NA 3 PR SJ NA N N N N N Q RH Y N N H
S136 F Y N NG NA 3 PG SJ NA N N N N N S NA Y Y N NA
S136 F Y N NA NA 3 PR SJ NA N N N N N Q RH Y N N H

Re: SVM ValueError

Postby Ales » Thu Jul 19, 2012 12:15

The formatting is broken, but i take it SSA is the class?
S235 has a single instance in the data, so if you are doing leave_one_out (like in the backtrace you posted) at one point that instance will be left out of the training data.

In any case, I fixed the no class instances problem. The fix should be included in the windows snapshot tomorrow.


Return to Questions & Support