前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一步一步理解机器学习的ROC曲线

一步一步理解机器学习的ROC曲线

作者头像
double
发布2022-09-06 12:22:16
5910
发布2022-09-06 12:22:16
举报
文章被收录于专栏:算法channel算法channel

你好,我是zhenguo

ROC曲线是评估机器学习模型分类能力最常用的一条曲线,那么你知道:

  • ROC曲线x,y轴各代表什么含义?
  • ROC曲线上的一个点代表什么含义?

这两个问题在面试中也常会被问道,不妨抽几分钟时间理解我下面的这篇小总结。

二分类混淆矩阵

下面是二分类的混淆矩阵,这个不难理解,P或N代表结果,T或F代表预测对与否:

基于二分类混淆矩阵,我们再来探讨关于ROC曲线上面提出的两个问题。

ROC曲线x,y轴各代表什么含义?

x轴是FPR,y轴是TPR,如下图所示:

其中:

x轴的FPR,即假阳率:

想象为:在所有的恶性肿瘤中,被预测成良性的比例,显然我们希望这个比例越小越好

y轴的TPR就是Recall值,即真阳率:

想象为:在所有良性肿瘤中,被预测为良性的比例,显然我们希望这个比例越大越好

ROC曲线上的四个特殊点

对于二分类,要么为0,要么为1,那么我们可以无脑的预测所有样本为0. 此时,不管是FP,还是TP都为0,因为我们没有预测哪怕一个样本为P,即为1.

故,我们得到一个特殊点(FPR=0, TPR=0),即(0, 0):

这个点虽特殊,但却是任何一条ROC曲线都会包括的!

同样的,如果我们无脑的预测所有样本为1,此时不管是FN,还是TN都为0,所以我们又得到一个特殊点(FPR=1, TPR=1),即(1,1):

同样,此点虽特殊,但却是任何一条ROC曲线都会包括的!

还有2个特殊点,分别对应全部预测对,或全部预测错!如果运气爆棚,全部猜对,此时就是没有一个预测错的,自然:(FPR=0, TPR=1);如果运气糟糕透顶,全部预测错误,自然:(FPR=1, TPR=0)

此两点虽特殊,但却未必一定包括在ROC曲线中。

ROC曲线上的点到底代表什么含义?

在二分类(0,1)的模型中,一般我们最后的输出是一个概率值,表示结果是1的概率。

那么我们最后怎么决定输入的x是属于0或1呢?

我们需要一个阈值,超过这个阈值则归类为1,低于这个阈值就归类为0。

所以,不同的阈值会导致分类的结果不同,也就是混淆矩阵不一样了,FPR和TPR也就不一样了。

所以当阈值从0开始慢慢移动到1的过程,就会形成很多对(FPR, TPR)的值,将它们画在坐标系上,就是所谓的ROC曲线。

其中阈值为0时,即对应:无脑的预测所有样本为1;当阈值为1时,即对应:无脑的预测所有样本为0。也就是对应的上节提到一定会出现的2个特殊点。

最后如果两种模型得到中间点如下图所示,那么绿色对应模型分类能力好于黄色对应模型:

最后一句话:ROC是用来表征分类器分类能力的曲线!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员郭震zhenguo 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二分类混淆矩阵
  • ROC曲线x,y轴各代表什么含义?
  • ROC曲线上的四个特殊点
  • ROC曲线上的点到底代表什么含义?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档