ROC曲线及EER介绍

567 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

引言

 本文旨在介绍ROC曲线及其前置概念如混淆矩阵、FPR、TPR等,还有其引申概念EER、AUC等等。

ROC的引入

 ROC曲线是一张用于评价二分类模型的曲线图,典型如下图所示: 在这里插入图片描述 理论上来说,该曲线越靠近坐标系的左上角说明该二分类器的表现越好,一个理想的二分类的ROC曲线应如下图所示: 在这里插入图片描述

混淆矩阵

 为了了解ROC曲线横纵轴所代表的意义及曲线的内涵,我们需要先介绍二分类器的另一个评估指标--混淆矩阵,混淆矩阵是由给定了二分类器的分类阈值情况下,计算不同类型样本数目所构造的表格(分类阈值指当score>T,y^=1score>T,\hat{y}=1,当scoreT,y^=0score\leq T,\hat{y}=0或相反情况),表格具体如下表所示。

预测·真预测·假总和
真实·真TPFNActual positive: TP+FN
真实·假FPTNActual negative: FP+TN
总和Predicted positive: TP+FPPredicted negative:FN+TNTP+FN+FP+TN

以TP为例进行解释:预测为真,实际也为真的样本的数目,其余同理。 由混淆矩阵引申出几个比值的概念:

TPR=TPTP+FNFPR=FPFP+TNTNR=TNFP+TNFNR=FNTP+FNTPR=\frac{TP}{TP+FN} \\ FPR=\frac{FP}{FP+TN}\\ TNR=\frac{TN}{FP+TN}\\ FNR=\frac{FN}{TP+FN}
TPR描述真实样本中预测为真的比例
FPR描述虚假样本中预测为真的比例
TNR描述虚假样本中预测为假的概率
FPR描述虚假样本中预测为真的概率

 ROC曲线中的横轴即为FPR,纵轴为TPR,即首先指定一系列的阈值T1,T2,T3..T_1,T_2,T_3..,使得二分类器的FPR指标由0变化至1,计算出相应的TPR变化情况,从而绘制了ROC曲线,给出表格形式如下:

阈值T1T_1T2T_2T3T_3T4T_4...
FPR0.........1
TPR0.........1

ROC曲线的解释

 ROC曲线想要反应的是二分类器在不同阈值选取下的耐受情况,即当我们阈值设置的过低时TPR肯定很高,即真实样本都会判断为真实样本,但这很显然是不对的,当我们阈值设置的过高时,FPR肯定也很低,即虚假样本都会判断为虚假样本,同样也不符合实际场景。我们需要的好的分类器应该是付出一定阈值代价使得FPR有点高的同时,TPR仍然保有较高值,即折中阈值。 以图像形式展示如下:

在这里插入图片描述

可以看出当阈值T=T3T=T_3时,FPR=0,但TPR较小(真样本被误判为假); 当阈值T=T2T=T_2时,TPR=1,但FPR较大(假样本被误判为真); 因此我们应该选取T=T1T=T_1以使得FPR、TPR进行折中。

EER

 在前文中我们提到,我们希望选取的阈值应该是使得真样本被判假和假样本被判真折中,即FPR=FNR,而FNR=1-TPR,所以我们实际上只需要在图中画一条TPR=1-FPR的直线,找到它与ROC曲线的交点,该点对应的阈值即为我们一般会设置为二分类器参数的阈值,该点对应的FPR=FNR即为EER,越小越好。 在这里插入图片描述

AUC

 AUC即为ROC曲线下的面积,从前述介绍来看,ROC曲线越靠近左上角越好,意味着换取TPR(T较小)很大时不用付出较大的FPR作为代价,因此曲线下的面积也会越大。即AUC越大,说明二分类器效果越好。