torcheval.metrics.BinaryAUROC¶
- class torcheval.metrics.BinaryAUROC(*, num_tasks: int = 1, device: device | None = None, use_fbgemm: bool | None = False)¶
计算二分类的 AUROC,它是 ROC 曲线下的面积。AUROC 定义为接收者操作特征曲线下的面积,该曲线是一个 x=假阳性率,y=真阳性率 的图。曲线上的点是从给定数据中采样得到的,面积使用梯形法计算。
Binary AUROC 支持多个任务。可以为预测值(输入)和目标提供一个二维向量。这与为每一行使用一个 BinaryAUROC 对象得到的结果相同。
它的函数版本是
torcheval.metrics.functional.binary_auroc()
.示例
>>> import torch >>> from torcheval.metrics import BinaryAUROC >>> metric = BinaryAUROC() >>> input = torch.tensor([0.1, 0.5, 0.7, 0.8]) >>> target = torch.tensor([1, 0, 1, 1]) >>> metric.update(input, target) >>> metric.compute() tensor([0.6667]) >>> input = torch.tensor([1, 1, 1, 0]) >>> target = torch.tensor([1, 1, 1, 0]) >>> metric.update(input, target) >>> metric.compute() tensor([1.0]) >>> metric = BinaryAUROC(num_tasks=2) >>> input = torch.tensor([[1, 1, 1, 0], [0.1, 0.5, 0.7, 0.8]]) >>> target = torch.tensor([[1, 0, 1, 0], [1, 0, 1, 1]]) >>> metric.update(input, target) >>> metric.compute() tensor([0.7500, 0.6667])
- __init__(*, num_tasks: int = 1, device: device | None = None, use_fbgemm: bool | None = False) None ¶
初始化指标对象及其内部状态。
使用
self._add_state()
初始化指标类的状态变量。状态变量应为torch.Tensor
、torch.Tensor
的列表、以torch.Tensor
作为值的字典或torch.Tensor
的双端队列。
方法
__init__
(*[, num_tasks, device, use_fbgemm])初始化指标对象及其内部状态。
计算
()返回 AUROC。
load_state_dict
(state_dict[, strict])从 state_dict 加载指标状态变量。
merge_state
(metrics)实现此方法以更新当前指标的状态变量,使其成为当前指标和输入指标的合并状态。
重置
()将指标状态变量重置为其默认值。
状态字典
()将指标状态变量保存在 state_dict 中。
to
(device, *args, **kwargs)将指标状态变量中的张量移动到设备。
update
(input, target[, weight])使用地面实况标签和预测更新状态。
属性
设备
Metric.to()
的最后一个输入设备。