《Spark机器学习进阶实战》——3.3.3 ROC和AUC

举报
华章计算机 发表于 2019/06/01 22:28:16 2019/06/01
【摘要】 本书摘自《Spark机器学习进阶实战》——书中的第3章,第3.3.3节,作者是马海平、于俊、吕昕、向海。


3.3.3 ROC和AUC

有些分类器对测试样本的预测结果是一个实数或者概率值。一般通过设定某个阈值来判断类别,如果输出大于阈值,则为正类,否则为负类。例如,逻辑回归模型利用sigmoid函数将预测输出控制在0到1之间。我们可以根据预测结果对测试样本进行排序,显然排序结果越靠前,测试样本为正类的可能性就越高。该排序结果的好坏直接反映了模型的效果。

实际使用时可以针对排序结果取前k个作为正类样本,而后面的所有样本归为负类。如果k值设置得较小,那么最终结果侧重于准确率,而如果k值设置较大,则最终结果侧重于召回率。所确定的k值只能显示排序结果在一种处理情况下的效果。而接受者操作特征(Receiver Operating Characteristic,ROC)曲线则可以更全面地评价排序结果。

ROC曲线是显示分类器真正率和假正率之间关系的一种图形化方法。根据预测结果对样本进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出真正率和假正率,并分别标记它们为纵坐标和横坐标,即可得到ROC曲线,真正率和假正率的计算方法如下:

image.png

图3-5所示是一个ROC曲线示意图。其中,(0,0)点对应将每个实例都预测为负类的模型,(1,1)点对应将每个实例都预测为正类的模型,而(0,1)点对应的模型则是理想模型。一个好的分类模型对应的曲线应该尽量靠近图的左上角。随机预测的模型对应主对角线。

image.png

图3-5 ROC曲线示例

在比较性能时,如果一个分类模型的ROC曲线被另一个分类模型的ROC曲线完全“包住”,则可判定后者的性能优异于前者。而如果两个分类模型的ROC曲线有交叉,则很难直接断言两者的性能优劣,一般可以在具体的查准率和查全率条件下进行比较。ROC曲线下方的面积(AUC)提供了评价模型平均性能的另一种方法。

P-R曲线(查准率-查全率曲线)和ROC曲线类似,只不过纵坐标和横坐标换成查准率(P)和查全率(R)。如图3-6所示,P-R图直观地显示出分类器在样本总体上的查准率、查全率。

image.png

图3-6 P-R曲线示例

P-R曲线下方的面积也可以用于评价模型性能。该面积在一定程度上反映了模型在查准率和查全率上取得相对“双高”的比例。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。