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

use*_*593 3 python numpy

我有两个清单.

  a = [0,0,1,1,1]   # actual labels
  b = [1,1,0,0,1]   # predicted labels
Run Code Online (Sandbox Code Playgroud)

如何根据这些列表计算准确度?

Jam*_*mes 7

sum(1 for x,y in zip(a,b) if x == y) / len(a)
Run Code Online (Sandbox Code Playgroud)

这将为您提供正确的百分比 - 即,总数正确的数字.它的工作原理是计算两个列表之间相等的数字,然后除以标签总数.

另请注意,如果您不使用Python 3,则必须如下所示:

sum(1 for x,y in zip(a,b) if x == y) / float(len(a))
Run Code Online (Sandbox Code Playgroud)

确保您获得数字的十进制表示


0x6*_*x60 5

既然您已经标记了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
Run Code Online (Sandbox Code Playgroud)