前言
即使是二分分类任务,多数机器学习模型也并非输出0或1这样的整数,而是产生一个概率值(一般在0-1之间)。然后设置一个分类阈值(threshold),当概率值大于threshold,判作正例。否则,为反例。
另一种直观的方法是,根据这个产生的概率值,从大到小将样本排序。从中选择一点为截断点(cut point),截断点以上判作正例,截断点以下判作反例。
这个截断点的设置也有不同的策略,当更看重Precision查准率时,可以将截断点选在靠前靠上的位置。当更看重Recall时,就将截断点设置在靠后的位置。
排序质量的好坏(其实就是模型预测的概率值的好坏),将影响“期望泛化性能”的好坏。
ROC
ROC全称是“受试者工作特征”(Receiver Operating Characteristic)曲线。ROC曲线的横轴是真正例率(True Positive Rate,TPR),纵轴是假正例率(False Positive Rate,FPR)。
两者的定义为:
可以看出,TP+FP为截断点以上的样本。当然,我们希望TPR越大,同时FPR越小。即坐标轴的左上角(1,0)位置为理想模型。
PS:把截断点从排序的样本序列0位置开始,一直到最后,每个位置求出TPR和FPR,得到坐标点,可画出ROC曲线
AUC
AUC是指ROC曲线以下的面积,即Area Under ROC Curve。