pytorch二分类auc
时间: 2023-12-30 10:24:05 浏览: 162
在PyTorch中计算二分类的AUC(Area Under the Curve)可以使用`sklearn.metrics`库中的`roc_curve`和`auc`函数来实现。下面是一个示例代码:
```python
import torch
from sklearn.metrics import roc_curve, auc
# 假设有两个类别的预测概率分数
y_true = torch.tensor([0, 1, 1, 0, 1])
y_scores = torch.tensor([0.1, 0.8, 0.6, 0.3, 0.9])
# 将PyTorch张量转换为NumPy数组
y_true_np = y_true.numpy()
y_scores_np = y_scores.numpy()
# 计算ROC曲线
fpr, tpr, thresholds = roc_curve(y_true_np, y_scores_np, pos_label=1)
# 计算AUC
auc_score = auc(fpr, tpr)
print("AUC score:", auc_score)
```
这段代码首先导入了`torch`和`sklearn.metrics`库。然后,我们假设有两个类别的真实标签`y_true`和预测概率分数`y_scores`。接下来,我们将PyTorch张量转换为NumPy数组,然后使用`roc_curve`函数计算ROC曲线的假正例率(fpr)、真正例率(tpr)和阈值(thresholds)。最后,使用`auc`函数计算AUC得分,并将结果打印出来。
阅读全文