对两个张量的torcheval AUC计算conterco 我是Torcheval的新手,并试图测量我的二进制分类器(DOC)的AUC。 我注意到,尽管分类器的准确性不错,但AUC度量评估为0.5以下,这是不正确的(给...

问题描述 投票:0回答:1

from torcheval.metrics.aggregation.auc import AUC from torcheval.metrics import BinaryAccuracy from sklearn.metrics import roc_auc_score, accuracy_score p_pred = torch.tensor([0.2, 0.3, 0.4, 0.6, 0.7, 0.8]) # model est likelihood of target class y_true = torch.tensor([0.0, 0.0, 1.0, 0.0, 1.0, 1.0]) # ground truth, 1 = target class # TorchEval Metrics auc_metric = AUC() accuracy_metric = BinaryAccuracy(threshold=0.5) auc_metric.reset() accuracy_metric.reset() auc_metric.update(p_pred,y_true) accuracy_metric.update(input=p_pred,target=y_true) print(f"TorchEval Accuracy = {accuracy_metric.compute().item():.3}") print(f"Sklearn Accuracy = {accuracy_score(y_true=y_true,y_pred=p_pred.round()):.3}") print(f"TorchEval AUC = {auc_metric.compute().item():.3}") print(f"Sklearn AUC = {roc_auc_score(y_true=y_true,y_score=p_pred):.3}") torcheval auc的意外价值:

TorchEval Accuracy = 0.667 Sklearn Accuracy = 0.667 TorchEval AUC = 0.3 Sklearn AUC = 0.889

如何正确调用Torcheval AUC以获得〜0.9?
的预期值
    

我应该使用

metrics.BinaryAUROC
而不是。我认为
metrics.AUC

是在您已经拥有ROC的坐标时。

python pytorch torcheval
1个回答
0
投票
的不同论点,即(x,y),而不是像

AUC.update()

这样的(输入,target)应该是赠品,而不是我想要的。
BinaryAccuracy
返回预期的结果。
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.