torcheval.metrics.BinaryPrecision¶
- class torcheval.metrics.BinaryPrecision(*, threshold: float = 0.5, device: device | None = None)¶
计算二分类任务的精确率得分,计算方法是真阳性数与真阳性数和假阳性数之和的比率。其函数版本为
torcheval.metrics.functional.binary_precision()
。当预测标签中某些类别在预测标签中没有正实例(当 TP + FP = 0 时),我们将 NaN 转换为 0。- 参数:
threshold (float, 默认值为 0.5) – 用于将输入转换为每个样本预测标签的阈值。
torch.where(input < threshold, 0, 1)
将应用于input
。
示例
>>> import torch >>> from torcheval.metrics import BinaryPrecision >>> metric = BinaryPrecision() >>> input = torch.tensor([0, 1, 0, 1]) >>> target = torch.tensor([1, 0, 1, 1]) >>> metric.update(input, target) >>> metric.compute() tensor(0.5) # 1 / 2 >>> metric = BinaryPrecision(threshold=0.7) >>> input = torch.tensor([0, 0.9, 0.6, 0.7]) >>> target = torch.tensor([1, 0, 1, 1]) >>> metric.update(input, target) >>> metric.compute() tensor(0.5) # 1 / 2
- __init__(*, threshold: float = 0.5, device: device | None = None) None ¶
初始化度量对象及其内部状态。
使用
self._add_state()
初始化度量类状态变量。状态变量应为torch.Tensor
、torch.Tensor
列表、以torch.Tensor
作为值的字典或torch.Tensor
的 deque。
方法
__init__
(*[, threshold, device])初始化度量对象及其内部状态。
计算
()返回精确率得分。
load_state_dict
(state_dict[, strict])从 state_dict 加载度量状态变量。
merge_state
(metrics)实现此方法以更新当前度量的状态变量,使其成为当前度量和输入度量的合并状态。
重置
()将度量状态变量重置为其默认值。
state_dict
()将度量状态变量保存在 state_dict 中。
to
(device, *args, **kwargs)将度量状态变量中的张量移动到设备。
update
(input, target)使用地面实况标签和预测更新状态。
属性
设备
Metric.to()
的最后一个输入设备。