|
- Class mindspore.nn.Recall(eval_type='classification')
-
- 计算'classification'单标签数据分类和'multilabel'多标签数据分类的召回率。
-
- recall类创建两个局部变量:math:`\text{true_positive}`和:math:`\text{false_negative}`用于计算召回率。计算方式为:math:`\text{true_positive}`除以:math:`\text{true_positive}`与:math:'\text{false_negative}'的和,是一个幂等操作,此值最终作为召回返回。
-
- .. math::
- \text{recall} = \frac{\text{true_positive}}{\text{true_positive} + \text{false_negative}}
-
- 注:
- 在多标签情况下,:math:`y`和:math:`y_{pred}`的元素必须为0或1。
-
- 参数:
- eval_type (str):支持'classification'和'multilabel'。默认值:'classification'。
-
- 示例:
- >>> import numpy as np
- >>> from mindspore import nn, Tensor
- >>>
- >>> x = Tensor(np.array([[0.2, 0.5], [0.3, 0.1], [0.9, 0.6]]))
- >>> y = Tensor(np.array([1, 0, 1]))
- >>> metric = nn.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_pred`和`y`。`y_pred` 和 `y` 支持Tensor、list或numpy.ndarray类型。
- 对于'classification'情况,`y_pred`在大多数情况下由范围:math:`[0, 1]`中的浮点数组成,shape为:math:`(N, C)`,其中:math:`N`是样本数,:math:`C`是类别数。
- `y` 由整数值组成,如果是one_hot编码格式,shape是:math:`(N,C)`;如果是类别索引,shape是:math:`(N,)`。
-
- 对于'multilabel'情况,`y_pred`和`y`只能是值为0或1的one-hot编码格式,其中值为1的索引表示正类别。`y_pred`和`y`的shape都是:math:`(N,C)`。
-
-
- 异常:
- ValueError:inputs数量不是2。
|