1.What
混淆矩阵
真实\预测 | 预测正例 | 预测反例 |
---|---|---|
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
TPR = TP/(TP+FN) 真正例率
FPR = FP/(TN+FP) 假正例率
ROC曲线
前者为纵轴
后者为横轴
在多种分类阈值设置下,计算得到对应坐标
画一曲线—即ROC曲线
ROC曲线所围成的面积即AUC
(Area Under ROC Curve)
2.How
绘制ROC曲线
通常模型预测为一个概率,不同的分类阈值下会有不同的分类结果;
给定n个正例与m个反例进行预测得到预测值(0.0-1.0)
给定多组阈值,在各个阈值下,预测得到对应一组预测结果
基于此结果,计算对应的TPR,FPR得到坐标,
进行连接得到ROC曲线。
西瓜书上给的一个画ROC的方法:
给定n个正例与m个反例进行预测
(初始皆为FN,TN)
(一般情况是一对一对随机采样)
设当前坐标为(x,y)
基于预测,依次取其,作为分类阈值:
若为TP则(x,y+1/n)
若为FP则(x+1/m,y)
AUC
如何基于ROC评判模型的好坏?
完全包住很好判断;
若有相交则难以判断,显然的用这个曲线下的面积作为一个评价标准,在此情况下是可行的。
ROC曲线所围城的面积即为AUC
(西瓜书P35)
但是,AUC的计算显然是有多种问题的(基于所用于画ROC的样例,样例顺序等会对所画的曲线产生较大的偏差)
在详细的AUC值的计算中会考虑每一对正反例来进行计算。
公式,在西瓜书p35
3.Why
为何AUC作为评价指标
ROC对正反例预测值上进行了考量(分类阈值),而AUC的大小反应了这个过程。AUC越大,可以评价模型越优秀,
另外,AUC有一个更优雅的,概率学上的意义:
随机选取一个正例和一个负例,分类器给正例的打分大于分类器给负例的打分的概率。