ROC曲线是评价分类器的性能好坏的标准。
在逻辑回归分类器中,最终模型预测出来的是一个概率值,表示当前的样本属于正类的概率。设定逻辑回归正类别的threshold即为t,如果逻辑回归模型预测出的概率值大于t,则预测为正类,如果概率值小于t,则预测为负类。
分类问题中的混淆矩阵(以二分类为例)
gt\prediction | 正类 | 负类 |
正类 | TP | FN |
负类 | FP | TN |
TP:ground truth类别为正类,prediction类别也为正类
TN:ground truth类别为负类,prediction类别也为负类
FP:ground truth类别为负类,prediction类别也为正类
FN:ground truth类别为正类,prediction类别也为负类
TPR:true positive rate =TP/(TP+FN) 预测正确的正样本总数/数据集中总正样本数
FPR:false positive rate=FP/(FP+TN) 预测错误的负样本总数/数据集中总负样本数
ROC曲线:横轴是TPR,纵轴是FPR。设定不同的判定为正负样本的阈值(threshold),可以得到不同的TPR和FPR点对。将一系列点对连接成平滑的曲线,则为ROC曲线。设想,
(1)当阈值设置为0,就是说,预测概率值大于0,则判定为正样本,小于0则判定为负样本,则对于逻辑回归分类器,所输出的预测概率值全部都大于0,故而所有的样本都会被分类为正样本,FN=TN=0,TPR=FPR=1,在ROC曲线上对应点(0,0)
(1)当阈值设置为1,就是说,预测概率值大于1,则判定为正样本,小于1则判定为负样本,则对于逻辑回归分类器,所输出的预测概率值全部都小于1,故而所有的样本都会被分类为负样本,FP=TP=0,TPR=FPR=0,在ROC曲线上对应点(1,1)
而我们期望ROC曲线能够达到的点是:(0,1),即FPR=0,TPR=1
可以看出,TPR和FPR数值都介于0-1范围内,故而ROC曲线必然在以(0,0)为左下角,1为边长的正方形内部。ROC曲线下积分的面积必然小于等于1.
ROC曲线下包围的面积定义为AUC:areas under curve
AUC值越大,说明分类器的性能越好。