ROC和AUC的区别

时间:2022-12-07 19:06:37

ROC是一个曲线,AUC是曲线下面的面积值。
 
ROC曲线是FPR和TPR的点连成的线。 ROC和AUC的区别 可以从上面的图看到,横轴是FPR, 纵轴是TPR (TPR = TP / (TP + FN);FPR = FP / (FP + TN)) ROC曲线如果想要理解的话,要关注四点一线: 1) (0,1)点:FPR==0,TPR==1 -->代表最好的一种情况,即所有的正例都被正确预测了,并且,没有负例被错认为正例。  2) (1,0)点:--> 代表最差的一种情况,所有的正例都看错了。 3) (0,0)点: --> 分类器将所有的样本都认为是负样本。 4) (1,1)点: --> 分类器将所有的样本都认为是正样本。 5) y=x曲线:  --> 随机猜测出来可得这样一个曲线。  形象的理解一下: 1) 商品推荐:重在覆盖度,所以更加注重True Positive的高,这个越高越好。False Positive这个不那么低也可以接受。 2) 嫌犯预测:重在准确,更加注重False Positive的低。
 
PR曲线是准确率和召回率的点连成的线。 ROC和AUC的区别 可以看到,左边的图是ROC曲线,右边的图是PR曲线。 ROC曲线,越左上凸越好; 因为这个ROC想要True Positive高,False Positive小。 PR曲线,越右上凸越好。 PR想要Recall和Precision同时高。  
当样本分布极不均衡的时候,哪个曲线表现的更好呢?
先看两个公式: 1) TPR = TP / (TP + FN); 2) FPR = FP / (FP + TN) 在ROC曲线中,这两个指标构成了最后的曲线。 如果,样本极不均衡。这里假设,正样本非常少,负样本非常多。 如果是这样的话,则TN会非常大,将FPR拉低,最后的曲线会表现的非常好。   这时候,再看看PR曲线,也许这个曲线就没有表现的那么好。 所以,有的时候,光看一个曲线是不能完全覆盖所有的情况的。    
如何画ROC曲线?
ROC和AUC的区别 如上图所示,假如我有20个测试样本,将预测的概率由大到小排列一下。 然后,分别用这个score作为阈值,大于0.9的作为正类,小于0.9的作为负类,这样的话,就有20组TP,FN等的值了。 这样就可以画出来一个曲线。   如果曲线不是特别平滑的话,那么很可能存在过拟合的情况。