ROC曲线和AUC
ROC曲线是指受试者工作特征曲线/接收器操作特性曲线(receiver operating characteristic curve),是反应敏感性和特异性连续变量的综合指标,利用构图法揭示敏感性和 特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标,特异性为横坐标绘制成曲线,曲线下的面积(AUC)越大,诊断准确性越高。最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。ROC曲线的例子
考虑一个二分问题,即将实例分成正类(Positive)或是负类(Negative)。对于一个二分问题来说,会出现以下四种情况。
真正类率(true positive rate ,TPR) = TPR=TP/ (TP+ FN),描述分类器识别出的正实例占所有正实例的比例。
假正类率(false positive rate, FPR)= FP / (FP + TN),描述分类器错认为正类的负实例占所有负实例的比例。
真负类率(True Negative Rate,TNR)= N/ (FP+ TN) = 1-FPR。
其中两列True matches和True non-match分别代表应该匹配上的和不应该匹配上的两行Pred matches和Pre non-match分别代表预测匹配上的和预测匹配不上的FPR = FP/(FP + TN) 负样本中的错判率(假警报率)TPR = TP/(TP + FN) 判对样本中的正样本率(命中率)ACC = (TP + TN) / (P+N) 判对准确率
在这个二分类模型中,对于所得到的连续结果,假设已经确定了一个阈值,如0.6,大于这个值的实例将被分为正类,否则为负类。如果减小这个阈值到0.5,虽然可以识别出更多的正类,提高真正类率(TPR,识别出的正实例占所有正实例的比例),但同时更多的负实例被识别为正实例,假正类率(FPR,错认为正类的负实例占所有负实例的比例)上升。
为了形象化上述变化,引入ROC,ROC可以用于评价一个分类器。
ROC曲线和它相关的比率理想情况下,TPR应该接近于1而FPR应该接近于0.ROC曲线上每一个点对应于一个threshold,队医一个分类器,每一个threshold下会有一个TPR和FPR随着阈值的增加,TP和FP都减小,TPR和FPR也减小,ROC点向左下角移动
ROC(Receiver Operating Characteristic)曲线由两个变量(1-specificity 和 Sensitivity)即假正类率FPR和真正类率TPR绘制,反应了正类覆盖程度。这个组合以1-specificity 对 Sensitivity,即是以代价(costs)对收益(benefits)。
此外,ROC曲线还可以用来计算“均值平均精度”(mean average precision),这是当你通过改变阈值来选择最好的结果时得到的平均精度
下表是一个Logistic回归得到的结果。将得到的数值按从大到小划分成10个个数相同的部分。
其正实例数为这个部分中实际的正类数。也就是说,将逻辑回归得到的结果按从大到小排列,倘若以前10%的数值作为阈值,即将前10%的实例都划归为正类,6180个,其中正确的个数为4879个,占所有正类的4879/14084 *100%=34.64%,即敏感度;另外有6180-4879=1301个负实例被错分类为正类,占所有负类的1301/47713 *100% =2.73%,即1-特异度。以这两组值分别作为x值和y值,绘制在坐标图中即为ROC曲线。
AUC(Area Under Curve)、Gini系数和KS(Kolmogorov-Smirnov)值
AUC被定义为ROC曲线下与坐标轴围成的面积。由于ROC曲线的定义,AUC的值不会大于1。同时,ROC曲线一般在y=x曲线上方,所以AUC的取值范围一般在(0.5~1)。
Gini系数指ROC曲线与y=x(红线)围成的面积和中线之上的面积的(0.5)比例。AUC和Gini的换算关系为:
Gini = 2*AUC -1
KS(Kolmogorov-Smirnov)值定义为TPR与FPR的差的最大值。反应模型的最优分类效果,此时所取的阈值一般作为最优阈值。
KS=max(TPR−FPR)
参考资料:
[1]: /abcjennifer/article/details/7359370
[2]: /bra_ve/article/details/82461378