Skip to the content.

ROC曲线与ROC AUC

参考How to explain the ROC curve and ROC AUC score?

1 基本概念

ROC曲线一般长这样:

ROC Curve

2 TPR与FPR

有一个数学上的工具叫混淆矩阵(Confusion Matrix)

一般长这样:

Confusion Matrix

具体的有:

总结规律,预测值和实际值一样第一位就是True,否则是False;第二位代表预测值是啥,Positive(True),Negative(False)

利用此矩阵计算TPR与FPR

TPR FPR calculation

所以,为了得到一个ROC曲线,必须要在不同的thresholds下,画出FPR和TPR。

分类阈值

CM是在某一个特定阈值下得出来的,而实际上需要在不同的阈值下分别计算TPR、FPR的值。

这个阈值的作用:

因为是二分类,真实值有两种0、1。预测值是0.0、0.1、0.2……0.9、1.0。比如说阈值为0.8,则小于0.8的预测值被当作0,大于0.8的预测值被当作1。

当阈值设的高的时候,这个模型就是“更保守的”。它在预测为1的时候“更可信”。但是,这样一般就会得到更低的召回率。预测为真的更少了,所以TP、FP都少了。

当阈值设的低的时候,这个模型就是”更不严谨的“。它在预测为1的时候“更不可信”。但是,这样就会得到更高的召回率。当然,这也会导致更低的精确率。预测为真的更多了,所以TP、FP都多了。

所以,TPR、TFP的变化趋势是一致的,也就是正相关,即ROC曲线是一个从左下向右上走的一个曲线。

3 ROC曲线

完美的模型

TPR=1,FPR=0,即没有预测错的。此时AUC=1。

Perfect Model

随机的模型

TPR = FPR,即对于任何阈值,它都会产生同样数量的TP、FP。属于随机预测。此时AUC=0.5。

Random Model

一般的模型

一般模型都会处在完美模型与随机模型之间的位置。

Normal Model

ROC曲线是对分类器在不同阈值下表现能力的二维反应。所以,很容易用一个指标来“总结”。这就是AUC。

4 好的AUC

5 使用AUC的优点与缺点

优点

缺点