我有两个清单。
a = [0,0,1,1,1] # actual labels
b = [1,1,0,0,1] # predicted labels
如何根据这些清单计算准确度?
答案 0 :(得分:6)
$
这将为您提供正确的百分比 - 即,总数正确的数字。它的工作原理是计算两个列表之间相等的数字,然后除以标签总数。
另请注意,如果您不使用Python 3,则必须如下所示:
sum(1 for x,y in zip(a,b) if x == y) / len(a)
确保您获得数字的十进制表示
答案 1 :(得分:4)
由于您已标记numpy
,因此此处为numpy
解决方案:
import numpy as np
a = np.array([0,0,1,1,1]) # actual labels
b = np.array([1,1,0,0,1]) # predicted labels
correct = (a == b)
accuracy = correct.sum() / correct.size
答案 2 :(得分:2)
如果两个列表的大小始终相同,则以下代码应该没问题:)
a = [0,0,1,1,1] # actual labels
b = [1,1,0,0,1] # predicted labels
accuracy = len([a[i] for i in range(0, len(a)) if a[i] == b[i]]) / len(a)
print(accuracy)
答案 3 :(得分:1)
如果准确度定义为%correct:
count = 0.0
correct = 0.0
for i in range(len(a)):
count+=1
if a[i]==b[i]:
correct+=1
print correct/count
print (correct/count)*100
这将打印%correct的十进制表示,然后是%representation。