如何根据两个列表python计算准确率?

时间:2016-08-10 15:11:29

标签: python numpy

我有两个清单。

  a = [0,0,1,1,1]   # actual labels
  b = [1,1,0,0,1]   # predicted labels

如何根据这些清单计算准确度?

4 个答案:

答案 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。