Orange Forum • View topic - TypeError: 'float' object is not iterable

TypeError: 'float' object is not iterable

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

TypeError: 'float' object is not iterable

Postby re832003 » Sun Mar 10, 2013 20:39

Hi,

I get a TypeError message when I use the code and the file given below. Is m file damaged or there is an error in my code?

Thanks,
Rania

## My Code
Code: Select all
import Orange
import Orange.evaluation.scoring
from Orange.classification import svm

learners = [svm.MultiClassSVMLearner(name="Multi-SVM")]

file_name = "3458_sem_new.tab"

data = Orange.data.Table(file_name)
res = Orange.evaluation.testing.cross_validation(learners, data, folds=10) # training procedure
cm = Orange.evaluation.scoring.confusion_matrices(res)[0]

Accuracy = Orange.evaluation.scoring.CA(cm)
Precision = Orange.evaluation.scoring.Precision(cm)
Recall = Orange.evaluation.scoring.Recall(cm)
F_measure = Orange.evaluation.scoring.F1(cm)

print "Accuracy", '\t', Accuracy
print "Precision", '\t',Precision
print "Recall", '\t','\t',Recall
print "F_measure", '\t',F_measure




### The error message I get
Error Message:

Traceback (most recent call last):
File "orangeSVM.py", line 25, in <module>
Accuracy = Orange.evaluation.scoring.CA(cm)
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\scoring.py", line 435, i
n __init__
self[:] = self.from_confusion_matrix_list(test_results)
File "C:\Python27\lib\site-packages\Orange\evaluation\scoring.py", line 463, i
n from_confusion_matrix_list
return [self.from_confusion_matrix(cm) for cm in confusion_matrices]
File "C:\Python27\lib\site-packages\Orange\evaluation\scoring.py", line 449, i
n from_confusion_matrix
for c, column in enumerate(row):
TypeError: 'float' object is not iterable


##My Input File
Input File:

ModalPos-1
d d
class
0 1:1
1 1:1
0 1:1
2 1:1
2 1:1
1 1:1
2 1:1
2 1:1
2 1:2
2 1:1
2 1:1
0 1:1
2 1:3
2 1:1
0 1:1
0 1:1
0 1:1
0 1:1
0 1:1
2 1:1
2 1:1
1 1:1
2 1:1
2 1:1
2 1:2
0 1:1
0 1:1
2 1:1
2 1:1
1 1:1
0 1:1
0 1:1
1 1:1
2 1:3
0 1:1
2 1:1
2 1:2
2 1:1
2 1:2
2 1:1
2 1:2
0 1:1
0 1:1
2 1:1
2 1:1
1 1:1
0 1:1
2 1:1
2 1:2
2 1:1
0 1:1
1 1:1
1 1:1
1 1:3
2 1:1
2 1:2
2 1:3
2 1:2
0 1:1
2 1:1
0 1:1
0 1:1
2 1:1
0 1:1
0 1:1
2 1:1
2 1:2
2 1:1
2 1:1
1 1:1
2 1:1
2 1:1
2 1:1
2 1:2
2 1:1
0 1:1
2 1:1
0 1:1
2 1:3
0 1:1
0 1:1
0 1:1
0 1:1
2 1:3
2 1:1
1 1:1
2 1:1
2 1:1
0 1:1
1 1:1
0 1:1
2 1:1
1 1:1
2 1:1
2 1:3
2 1:1
2 1:1
0 1:1
2 1:1
2 1:2
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
1 1:1
2 1:1
1 1:1
1 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
1 1:1
2 1:2
0 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
0 1:1
0 1:1
0 1:1
2 1:1
0 1:1
0 1:1
0 1:1
2 1:1
1 1:1
0 1:1
2 1:1
0 1:1
2 1:1
1 1:1
2 1:2
0 1:1
2 1:2
2 1:3
2 1:1
1 1:1
0 1:1
0 1:1
0 1:1
2 1:3
2 1:1
2 1:2
2 1:2
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
1 1:1
2 1:1
1 1:1
0 1:1
2 1:2
0 1:4
2 1:3
0 1:1
0 1:1
1 1:1
0 1:1
2 1:3
0 1:1
2 1:1
2 1:1
2 1:1
0 1:1
0 1:1
2 1:1
2 1:1
2 1:3
2 1:1
2 1:1
2 1:1
2 1:1
1 1:1
0 1:1
0 1:1
0 1:1
1 1:1
0 1:1
2 1:1
0 1:1
2 1:3
0 1:1
2 1:1
2 1:3
2 1:1
2 1:1
1 1:1
0 1:1
2 1:3
1 1:1
1 1:1
0 1:1
2 1:1
1 1:1
1 1:1
2 1:1
1 1:1
1 1:1
1 1:1
2 1:1
2 1:1
2 1:2
0 1:1
2 1:1
0 1:1
1 1:1
1 1:1
2 1:2
2 1:2
0 1:1
0 1:1
1 1:1
0 1:1
1 1:1
2 1:1
2 1:2
2 1:1
2 1:1
1 1:1
1 1:1
2 1:1
2 1:1
1 1:1
1 1:1
1 1:1
2 1:1
1 1:1
1 1:1
1 1:1
0 1:1
2 1:1
1 1:1
2 1:1
1 1:1
0 1:1
2 1:1
1 1:1
2 1:1
2 1:1
1 1:1
0 1:1
0 1:1
2 1:3
0 1:4
1 1:3
2 1:1
2 1:1
2 1:2
0 1:1
1 1:1
2 1:2
2 1:1
0 1:1
1 1:1
2 1:1
1 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:2
2 1:1
1 1:1
2 1:1
2 1:1
0 1:1
1 1:1
1 1:1
2 1:1
2 1:3
0 1:1
0 1:1
2 1:1
1 1:1
2 1:1
2 1:1
2 1:1
2 1:1
1 1:1
0 1:1
2 1:1
2 1:1
1 1:1
1 1:1
2 1:1
2 1:1
1 1:1
2 1:1
0 1:1
0 1:1
0 1:1
0 1:1
0 1:1
2 1:3
0 1:1
2 1:1
1 1:1
2 1:1
2 1:2
2 1:2
2 1:2
0 1:1
0 1:1
1 1:1
2 1:2
2 1:1
2 1:1
2 1:1
2 1:1
2 1:3
2 1:3
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
0 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
2 1:1
0 1:1
0 1:1
0 1:1
1 1:1
0 1:1
2 1:1
1 1:1
2 1:1
0 1:1
2 1:1
0 1:1
2 1:1
1 1:1
2 1:1
2 1:1
2 1:1
1 1:1
2 1:1
2 1:1
0 1:1
0 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:3
1 1:1
1 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:4
0 1:1
1 1:1
1 1:1
2 1:1
0 1:4
2 1:1
0 1:1
2 1:1
2 1:2
2 1:1
2 1:1
1 1:1
0 1:1
2 1:1
2 1:1
0 1:1
2 1:3
1 1:1
0 1:1
0 1:1
0 1:1
0 1:1
2 1:3
1 1:1
1 1:1
2 1:1
1 1:1
0 1:4
0 1:1
2 1:1
2 1:1
2 1:2
1 1:1
0 1:1
1 1:1
2 1:1
2 1:3
2 1:3
2 1:1
1 1:1
0 1:1
2 1:2
0 1:1
1 1:1
2 1:1
0 1:1
2 1:1
0 1:1
0 1:1
0 1:1
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
2 1:2
0 1:1
2 1:2
2 1:1
2 1:1
0 1:1
1 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
1 1:1
0 1:1
2 1:1
2 1:1
0 1:1
0 1:1
2 1:1
0 1:1
1 1:1
2 1:1
0 1:1
2 1:1
2 1:1
0 1:1
0 1:1
2 1:1
2 1:1
2 1:1
1 1:1
1 1:1
0 1:1
2 1:2
2 1:1
2 1:1
1 1:1
2 1:1
1 1:1
1 1:1
0 1:1
1 1:1
2 1:1
2 1:1
0 1:1
0 1:1
1 1:1
1 1:1
2 1:1
2 1:1
2 1:1
1 1:1
0 1:1
2 1:2
2 1:1
2 1:2
0 1:1
0 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:3
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
2 1:1
2 1:2
2 1:1
1 1:1
1 1:1
0 1:1
1 1:1
2 1:1
2 1:1
2 1:3
0 1:1
2 1:1
2 1:1
1 1:1
0 1:1
2 1:2
1 1:1
2 1:3
1 1:1
2 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
0 1:1
0 1:1
2 1:2
2 1:1
0 1:1
0 1:1
2 1:1
0 1:1
2 1:1
2 1:2
1 1:3
2 1:1
0 1:1
2 1:3
2 1:2
2 1:2
2 1:1
2 1:2
2 1:1
2 1:3
2 1:1
1 1:1
2 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:2
2 1:1
0 1:1
2 1:2
0 1:1
0 1:1
2 1:2
2 1:1
1 1:1
2 1:2
2 1:1
1 1:1
2 1:1
2 1:3
2 1:3
0 1:1
0 1:4
2 1:3
2 1:1
2 1:1
1 1:1
2 1:3
2 1:1
2 1:1
1 1:1
2 1:2
0 1:1
2 1:1
2 1:3
0 1:1
2 1:3
0 1:1
2 1:1
2 1:1
2 1:1
1 1:1
2 1:3
1 1:1
1 1:1
1 1:1
0 1:1
0 1:1
2 1:1
2 1:1
2 1:1
2 1:1
0 1:1
2 1:1
1 1:1
2 1:1
2 1:1
0 1:4
2 1:2
2 1:2
2 1:1
2 1:1
2 1:1
1 1:1
1 1:1
2 1:3
2 1:1
2 1:1
0 1:1
2 1:3
1 1:1
1 1:1
2 1:1
2 1:1
0 1:1
1 1:1
1 1:1
0 1:1
0 1:1
2 1:1
2 1:1
1 1:1
2 1:3
1 1:1
2 1:1
1 1:1
0 1:1
0 1:1
2 1:1
1 1:1
0 1:1
2 1:1
2 1:3
2 1:3
1 1:1
2 1:1

Re: TypeError: 'float' object is not iterable

Postby Ales » Mon Mar 11, 2013 11:32

You need to pass target class index to confusion_matrices function (see) for measures to be able to compute the scores (at least if you have multi-class domain).

Note that you can also pass the whole evaluation results ('res' variable in your example) to the measure function, in which case the score can be computed taking all class values into account.


Return to Questions & Support



cron