ValueError: multiclass format is not supported
找到报错位置:
def compute_auc(pred, label):
if isinstance(pred, torch.Tensor):
pred = pred.cpu().detach().numpy().flatten()
if isinstance(label, torch.Tensor):
label = label.cpu().detach().numpy().flatten()
fpr, tpr, thresholds = metrics.roc_curve(label, pred)#报错位置
return metrics.auc(fpr, tpr)
报错原因:

设置断点debug看看这两个输入数据的内容和类型

报错的原因就是pos_label=None了

仔细查看label的数值,有0, 1,2,是个多分类,但是roc曲线一般是二分类的,多分类用混淆矩阵来做。我的数据就是二分类,那肯定就是我的label数据有个标签打成了2,改为1就可以了。
多分类问题:ROC曲线误用与修复
在深度学习评估中,遇到`ValueError: multiclass format is not supported`错误,发现是由于将多分类标签误用于二分类ROC曲线。解决方法是识别并修正标签,确保为二分类。通过实例代码和原因分析,探讨如何避免此类问题。
2125

被折叠的 条评论
为什么被折叠?



