roc和auc

时间:2024-03-23 13:51:08

ROC(接收者特征)曲线是一种比较两个分类器模型的工具。


对每一份数据分类器都有一个预测概率。对于二分类问题,f(X)选择阈值t,当分类器预测的概率大于f(X)>=t的该份数据我们就预测为正,而其他数据就预测为负。


roc和auc


这里的真正例率和假正例率都是相对于实际的正负而言,真正例率(TPR):实际为真预测为真的概率除以实际为真的概率。假正例率(FPR):实际为负却预测为真的概率概率除以实际为负的概率。

绘制ROC曲线的过程,ROC的水平轴为假正例率,垂直轴为真正例率。将分类器对每条数据预测的概率按照从大到小的顺序排序,给定阈值t,当小于t就判断预测正确。一般取t=0.5

roc和auc


现在假设有10条数据,总共实际有5个真例,5个假例,分类器给每条数据的预测为真还是假都有一个概率,当这个概率大于0.5就预测为真,当整个概率小于0.5就预测为假,通过真实的正假和预测的正假,可以将该条数据的TP和FP确定。之后每预测一条数据,TP和FP都在上一条数据上累加。

对于第一条数据,实际为真,预测的概率为0.9,预测也为真,因此tp=1,fp=0,因此TPR=0.2,FPR=0,第二条数据,实际为真预测为概率为0.8,因此TP加1,TP=2,FP=0,第三条数据,实际为负,预测概率为0.7,预测错误,因此TP不变,而FP加1,从而TP=2,FP=1.这种方法它不能判断TN和FN,比如第10条数据,实际为假预测为假,应该TN=1,但是ROC只针对真正例和假正例判断,考虑主要是准确率。

最后可以得到一个锯齿状的曲线图,ROC曲线下的面积是模型准确率的度量。TPR会随着FPR的增加而增加,

roc和auc

当数据集很大的时候,ROC曲线会更加平滑。