我有两个列表
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)
进行比较,但它正在显示
TypeError:数组索引必须是整数
答案 0 :(得分:0)
您需要同时将y_pred
和labs
作为相同的数据类型。即array
或list
。它们是混合型的。
EDIT1
一旦我们使用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
答案 1 :(得分:0)
您必须将数组转换为列表才能使其正常工作 这应该适合你 accuracy_score(y_test.tolist(),实验室)