《Spark机器学习进阶实战》——3.3.3 ROC和AUC
3.3.3 ROC和AUC
有些分类器对测试样本的预测结果是一个实数或者概率值。一般通过设定某个阈值来判断类别,如果输出大于阈值,则为正类,否则为负类。例如,逻辑回归模型利用sigmoid函数将预测输出控制在0到1之间。我们可以根据预测结果对测试样本进行排序,显然排序结果越靠前,测试样本为正类的可能性就越高。该排序结果的好坏直接反映了模型的效果。
实际使用时可以针对排序结果取前k个作为正类样本,而后面的所有样本归为负类。如果k值设置得较小,那么最终结果侧重于准确率,而如果k值设置较大,则最终结果侧重于召回率。所确定的k值只能显示排序结果在一种处理情况下的效果。而接受者操作特征(Receiver Operating Characteristic,ROC)曲线则可以更全面地评价排序结果。
ROC曲线是显示分类器真正率和假正率之间关系的一种图形化方法。根据预测结果对样本进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出真正率和假正率,并分别标记它们为纵坐标和横坐标,即可得到ROC曲线,真正率和假正率的计算方法如下:
图3-5所示是一个ROC曲线示意图。其中,(0,0)点对应将每个实例都预测为负类的模型,(1,1)点对应将每个实例都预测为正类的模型,而(0,1)点对应的模型则是理想模型。一个好的分类模型对应的曲线应该尽量靠近图的左上角。随机预测的模型对应主对角线。
图3-5 ROC曲线示例
在比较性能时,如果一个分类模型的ROC曲线被另一个分类模型的ROC曲线完全“包住”,则可判定后者的性能优异于前者。而如果两个分类模型的ROC曲线有交叉,则很难直接断言两者的性能优劣,一般可以在具体的查准率和查全率条件下进行比较。ROC曲线下方的面积(AUC)提供了评价模型平均性能的另一种方法。
P-R曲线(查准率-查全率曲线)和ROC曲线类似,只不过纵坐标和横坐标换成查准率(P)和查全率(R)。如图3-6所示,P-R图直观地显示出分类器在样本总体上的查准率、查全率。
图3-6 P-R曲线示例
P-R曲线下方的面积也可以用于评价模型性能。该面积在一定程度上反映了模型在查准率和查全率上取得相对“双高”的比例。
- 点赞
- 收藏
- 关注作者
评论(0)