Precision

class paddle.fluid.metrics. Precision ( name=None ) [源代码]

精确率Precision(也称为 positive predictive value,正预测值)是被预测为正样例中实际为正的比例。https://en.wikipedia.org/wiki/Evaluation_of_binary_classifiers 该类管理二分类任务的precision分数。

代码示例

import paddle.fluid as fluid
import numpy as np

metric = fluid.metrics.Precision()

# generate the preds and labels

preds = [[0.1], [0.7], [0.8], [0.9], [0.2],
         [0.2], [0.3], [0.5], [0.8], [0.6]]

labels = [[0], [1], [1], [1], [1],
          [0], [0], [0], [0], [0]]

preds = np.array(preds)
labels = np.array(labels)

metric.update(preds=preds, labels=labels)
numpy_precision = metric.eval()

print("expect precision: %.2f and got %.2f" % ( 3.0 / 5.0, numpy_precision))

方法

update(preds, labels)

使用当前mini-batch的预测结果更新精确率的计算。

参数

  • preds (numpy.array) - 当前mini-batch的预测结果,二分类sigmoid函数的输出,shape为[batch_size, 1],数据类型为'float64'或'float32'。

  • labels (numpy.array) - 当前mini-batch的真实标签,输入的shape应与preds保持一致,shape为[batch_size, 1],数据类型为'int32'或'int64'

返回

eval()

计算出最终的精确率。

参数

返回

精确率的计算结果。标量输出,float类型

返回类型 float