一、评价指标的意义
在分类任务中,我们在训练完模型后,需要使用测试样本对模型进行性能测试。针对分类问题,测试结果最终划分为4类:真正类,真负类,假正类,假负类。
一些术语:
正类(阳性 ) (P, positive)
负类(阴性) (N, Negative)
以下为四类预测结果的定义:
(1)如果正样本被预测成为正类,就是真正类(True Postive TP)
(2)如果负样本被预测成为负类,就是真负类(True Negative TN)
(3)如果负样本被预测成为正类,就是假正类(False Postive FP)
(4)如果正样本被预测成为负类,就是假负类(False Negative FN)
把四种结果组合在一个表格中,就形成了混淆矩阵(confusion_matrix)
在sklearn中自带混淆矩阵的计算方法,把真实值和预测值直接代入即可计算出结果。纵轴为预测结果,横轴为真实结果。
二、由混淆矩阵延伸出的指标
真正率(召回率,灵敏度),True Positive Rate:TPR = TP/ (TP+FN)
假正率, False Postive Rate:FPR = FP/(TN+FP)
其中 FPR + TNR = 1,在约登指数中会应用到。
由混淆矩阵延伸出的指标再延伸出的指标
1、PPV和TPR可以计算F1
2、TPR和TNR可以计算约登指数
YoudenIndex = TPR + TNR - 1
三、ROC
1、背景
ROC的全称是“受试者操作特征”(Receiver Operating Characteristic)曲线,又称为感受性曲线(sensitivity curve),首先是由二战中的电子工程师和雷达工程师发明的,用来侦测战场上的敌军载具(飞机、船舰),也就是信号检测理论。之后很快就被引入了心理学来进行信号的知觉检测。此后被引入机器学习领域,用来评判分类、检测结果的好坏。因此,ROC曲线是非常重要和常见的统计分析方法。以假正性率(False positive rate)为横轴,真正率(True positive rate)为纵轴所组成的坐标图,测试样本在不同的判断标准(阈值)得出的不同结果画出的曲线。
2. “ROC 曲线”思路:
根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值(TPR、FPR),分别以它们为横、纵坐标作图。
3、怎么画ROC曲线
如果我们使用二分类模型(例如逻辑回归)来判断一个人是否是我们的目标客户,这时模型会得到这个人是目标客户的得分(或者叫概率)。例如有一个20人的样本集,这20人我们已经知道其分类特征,其中10人是我们的目标客户(p),另外10人不是(n),而我们的模型也给每个人打了分数(score),分数越高则是目标客户的概率越大。我们按照得分倒序排序如下:
把每一个人的得分作为阀值,都计算出相应的TPR和FPR,就能画成一个图。
四、AUC (Area under Curve):
ROC曲线下的面积,介于0.1和1之间,作为数值可以直观的评价分类器的好坏,值越大越好。
测试任意给一个正类样本和一个负类样本,正类样本的score有多大的概率大于负类样本的score。
· AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
· 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
· AUC = 0.5,跟随机猜测一样,模型没有预测价值。
· AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。
五、约登指数
约登指数(Youden index):最佳界值的确定指数,该值取最大值处就是最佳的界限,即最佳阈值。
约登指数 = 敏感度+特异度-1,其中 特异度=1-假正率;故在ROC曲线中,约登指数 = 敏感度 - 假正率。
约登指数的几何表示,最大化ROC曲线上的点到x轴的垂直距离。就是保证TPR高的同时FPR要尽量的小。