from sklearn.metrics import precision_score
a = [ 1, 2, 1, 1, 2 ]
b = [ 1, 2, 2, 1, 1 ]
print precision_score(a,b, labels = [1])
# 0.6666
print precision_score(a,b, labels = [2])
# 0.5
print precision_score(a,b, labels = [1,2])
# 0.6666
为什么第一种情况和最后一种情况的值相同?
手工计算,总精度应为 3/5 = 0.6。但是第三种情况输出 0.6666,恰好是第一种情况的值。
编辑 1:添加了相关函数的导入路径。