整理下一些常用的评估模型的指标
1 AUC
AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。
1.1 什么是ROC
这就是一个ROC曲线,其中横轴是FPR,纵轴是TPR。那么就引入了什么是FPR和TPR?
1.2 什么是FPR TPR FNR TNR
如上图所示,因为这是基于二分类进行的,所以其实,AUC只能用在二分类中。
1)伪阳性率(False Positive Rate,FPR):判定为正例却不是真正例的概率,即真负例中判为正例的概率,
2)真阳性率(True Positive Rate,TPR):判定为正例也是真正例的概率,即真正例中判为正例的概率(也即正例召回率)
3)伪阴性率(False Negative Rate,FNR):判定为负例却不是真负例的概率,即真正例中判为负例的概率。
4)真阴性率(True Negative Rate,TNR):判定为负例也是真负例的概率,即真负例中判为负例的概率。
1.3 怎么计算AUC
在一个二分类模型中,
- 对于所得到的连续结果,
- 假设已确定一个阀值,比如说 0.6,大于这个值的实例划归为正类,小于这个值则划到负类中。
- 如果减小阀值,减到0.5,固然能识别出更多的正类,也就是提高了识别出的正例占所有正例 的比类,即TPR,但同时也将更多的负实例当作了正实例,即提高了FPR。
ROC曲线上的每一个点对应于一个threshold,对于一个分类器,每个threshold下会有一个TPR和FPR。比如Threshold最大时,TP=FP=0,对应于原点;Threshold最小时,TN=FN=0,对应于右上角的点(1,1)
第一种计算方法也是淘汰的方法:计算ROC曲线下的面积,可以近似计算ROC曲线一个个小梯形的面积。参考这篇博文
还有2种方法,可以降低代码的复杂度