我想使用所有实例均为零的数据集计算AUROC。然而,出现了以下错误:
ValueError: y_true中只有一个类别。在这种情况下,ROC AUC分数无法定义
def computeAUROC (dataGT, dataPRED, classCount): outAUROC = [] datanpGT = dataGT.cpu().numpy() datanpPRED = dataPRED.cpu().numpy() for i in range(classCount): outAUROC.append(roc_auc_score(datanpGT[:, i], datanpPRED[:, i])) return outAUROC
回答:
如果你的数据集中没有正例和负例,你就无法绘制ROC曲线。数据集中只有一个类别时,你无法测量假阳性率,因此无法绘制ROC曲线。这就是你收到此错误消息的原因。