mindspore.train.Recall
- class mindspore.train.Recall(eval_type='classification')[源代码]
计算数据分类的召回率,包括单标签场景和多标签场景。
Recall类创建两个局部变量 \(\text{true_positive}\) 和 \(\text{false_negative}\) 用于计算召回率。计算方式为:
\[\text{recall} = \frac{\text{true_positive}}{\text{true_positive} + \text{false_negative}}\]说明
在多标签情况下, \(y\) 和 \(y_{pred}\) 的元素必须为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]
- eval(average=False)[源代码]
计算召回率。
- 参数:
average (bool) - 指定是否计算平均召回率。默认值:
False
。
- 返回:
numpy.float64,计算结果。
- update(*inputs)[源代码]
使用预测值 y_pred 和真实标签 y 更新局部变量。
- 参数:
inputs - 输入 y_pred 和 y。 y_pred 和 y 支持Tensor、list或numpy.ndarray类型。
对于'classification'情况, y_pred 在大多数情况下由范围 \([0, 1]\) 中的浮点数组成,shape为 \((N, C)\) ,其中 \(N\) 是样本数, \(C\) 是类别数。 y 由整数值组成,如果是one_hot编码格式,shape是 \((N, C)\) ;如果是类别索引,shape是 \((N,)\) 。
对于'multilabel'情况, y_pred 和 y 只能是值为0或1的one-hot编码格式,其中值为1的索引表示正类别。 y_pred 和 y 的shape都是 \((N, C)\) 。
- 异常:
ValueError - inputs数量不是2。