我有两个列表
y_test = array('B', [1, 2, 3, 4, 5])
和
labs = [1, 2, 3, 4, 5]
在 sklearn 中,当我做print accuracy_score(y_test,labs)
时,我得到错误
ValueError:预期的类似数组(数组或非字符串序列),得到数组('B', [1, 2, 3, 4, 5])。
我试图使用 print accuracy_score(y_test['B'],labs)
比较它,但它显示
类型错误:数组索引必须是整数
将y_pred
和labs
作为相同的数据类型,即array
或list
。它们是混合类型。
编辑1
一旦我们使用 y_test = map(int,y_test)
对齐它,它应该可以工作(如下所示)
import array
from sklearn.metrics import accuracy_score
y_test = array.array('B', [1, 2, 3, 4, 5])
y_test = map(int,y_test)
labs = [1, 2, 3, 4, 5]
>>> print accuracy_score(labs, y_test)
1.0
您必须将数组转换为列表才能使其工作这应该为您做accuracy_score(y_test.tolist(),labs)