文章目录
- 引言
- ROC的引入
- 混淆矩阵
- ROC曲线的解释
- EER
- AUC
引言
本文旨在介绍ROC曲线及其前置概念如混淆矩阵、FPR、TPR等,还有其引申概念EER、AUC等等。
ROC的引入
ROC曲线是一张用于评价二分类模型的曲线图,典型如下图所示:
理论上来说,该曲线越靠近坐标系的左上角说明该二分类器的表现越好,一个理想的二分类的ROC曲线应如下图所示:
混淆矩阵
为了了解ROC曲线横纵轴所代表的意义及曲线的内涵,我们需要先介绍二分类器的另一个评估指标–混淆矩阵,混淆矩阵是由给定了二分类器的分类阈值情况下,计算不同类型样本数目所构造的表格(分类阈值指当,当
或相反情况),表格具体如下表所示。
预测·真 | 预测·假 | 总和 | |
真实·真 | TP | FN | Actual positive: TP+FN |
真实·假 | FP | TN | Actual negative: FP+TN |
总和 | Predicted positive: TP+FP | Predicted negative:FN+TN | TP+FN+FP+TN |
以TP为例进行解释:预测为真,实际也为真的样本的数目,其余同理。
由混淆矩阵引申出几个比值的概念:
TPR描述真实样本中预测为真的比例
FPR描述虚假样本中预测为真的比例
TNR描述虚假样本中预测为假的概率
FPR描述虚假样本中预测为真的概率
,使得二分类器的FPR指标由0变化至1,计算出相应的TPR变化情况,从而绘制了ROC曲线,给出表格形式如下:
阈值 | … | ||||
FPR | 0 | … | … | … | 1 |
TPR | 0 | … | … | … | 1 |
ROC曲线的解释
ROC曲线想要反应的是二分类器在不同阈值选取下的耐受情况,即当我们阈值设置的过低时TPR肯定很高,即真实样本都会判断为真实样本,但这很显然是不对的,当我们阈值设置的过高时,FPR肯定也很低,即虚假样本都会判断为虚假样本,同样也不符合实际场景。我们需要的好的分类器应该是付出一定阈值代价使得FPR有点高的同时,TPR仍然保有较高值,即折中阈值。
以图像形式展示如下:
可以看出当阈值时,FPR=0,但TPR较小(真样本被误判为假);
当阈值时,TPR=1,但FPR较大(假样本被误判为真);
因此我们应该选取以使得FPR、TPR进行折中。
EER
在前文中我们提到,我们希望选取的阈值应该是使得真样本被判假和假样本被判真折中,即FPR=FNR,而FNR=1-TPR,所以我们实际上只需要在图中画一条TPR=1-FPR的直线,找到它与ROC曲线的交点,该点对应的阈值即为我们一般会设置为二分类器参数的阈值,该点对应的FPR=FNR即为EER,越小越好。
AUC
AUC即为ROC曲线下的面积,从前述介绍来看,ROC曲线越靠近左上角越好,意味着换取TPR(T较小)很大时不用付出较大的FPR作为代价,因此曲线下的面积也会越大。即AUC越大,说明二分类器效果越好。