使用 numpy 计算精度和准确度

Dav*_*vid 3 python numpy

假设两个列表true_values = [1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0]predictions = [1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0]。如何使用 numpy 计算准确度和精度?

在此输入图像描述

小智 13

import numpy as np

true_values = np.array([[1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0]])
predictions = np.array([[1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0]])

N = true_values.shape[1]
accuracy = (true_values == predictions).sum() / N
TP = ((predictions == 1) & (true_values == 1)).sum()
FP = ((predictions == 1) & (true_values == 0)).sum()
precision = TP / (TP+FP)
Run Code Online (Sandbox Code Playgroud)

这是我想出的最简洁的方法(假设没有 sklearn),但可能更短!

  • `精度 = (预测 * true_values).sum() / 预测.sum()`。 (2认同)
  • `np.mean(true_values == 预测)` (2认同)