机器学习中的ROC曲线

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值越大,说明分类器的性能越好。

 

你可能感兴趣的:(machine,learning)