一、明白ROC的原理
ROC曲线针对的是 正负样本,画出预测曲线。
网上给出的概念解读有很多,我查看的这篇 ROC and AUC, Clearly Explained! - YouTube
我说说自己对ROC的理解,ROC曲线是用来判断 预测效果 的。深度学习对猫狗分类做ROC曲线时,使用from sklearn.metrics import roc_curve, auc是可以画出两条ROC曲线的。一条是猫,另一条是狗的ROC,最后取做平均。
二、from sklearn.metrics import roc_curve, auc
roc_curve(y_true,y_score,*,pos_label=None,sample_weight=None,drop_intermediate=True):
参数详解:参考Python下使用sklearn绘制ROC曲线(超详细)_hesongzefairy的博客-CSDN博客。需要注意的时,在标签是二进制时,pos_label默认是1。
在n分类任务时,画出的ROC曲线是n条。我们需要对n条曲线做平均。
三、关于roc曲线的其他画法
在深度学习二分类中,test的output返回的是二维张量。通过torch.argmax(outputs)得出最大概率的下标以及概率值。我们对这个概率值进行排序,设定阈值来画出ROC曲线。
四、感受
1、问题需要坚持、实践
2、参考 官方文档,博客大多具有一定的适应范围
3、请教别人,多方面请教