mindspore.train.Recall

class mindspore.train.Recall(eval_type='classification')[源代码]

计算数据分类的召回率,包括单标签场景和多标签场景。

Recall类创建两个局部变量 true_positivefalse_negative 用于计算召回率。计算方式为:

recall=true_positivetrue_positive+false_negative

说明

在多标签情况下, yypred 的元素必须为0或1。

参数:
  • eval_type (str) - 支持 'classification' (单标签分类) 和 'multilabel' (多标签分类) 。默认值: 'classification'

支持平台:

Ascend GPU CPU

样例:

>>> import numpy as np
>>> from mindspore import Tensor
>>> from mindspore.train import Recall
>>>
>>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]]))
>>> y = Tensor(np.array([1, 0, 1]))
>>> metric = Recall('classification')
>>> metric.clear()
>>> metric.update(x, y)
>>> recall = metric.eval()
>>> print(recall)
[1. 0.5]
clear()[源代码]

内部评估结果清零。

eval(average=False)[源代码]

计算召回率。

参数:
  • average (bool) - 指定是否计算平均召回率。默认值: False

返回:

numpy.float64,计算结果。

update(*inputs)[源代码]

使用预测值 y_pred 和真实标签 y 更新局部变量。

参数:
  • inputs - 输入 y_predyy_predy 支持Tensor、list或numpy.ndarray类型。

    • 对于'classification'情况, y_pred 在大多数情况下由范围 [0,1] 中的浮点数组成,shape为 (N,C) ,其中 N 是样本数, C 是类别数。 y 由整数值组成,如果是one_hot编码格式,shape是 (N,C) ;如果是类别索引,shape是 (N,)

    • 对于'multilabel'情况, y_predy 只能是值为0或1的one-hot编码格式,其中值为1的索引表示正类别。 y_predy 的shape都是 (N,C)

异常:
  • ValueError - inputs数量不是2。