一步一步理解机器学习的ROC曲线
你好,我是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是用来表征分类器分类能力的曲线!
相关文章
- 使用机器学习创建自己的Emojis 表情
- 解密数字时代 AI 加持之道,网易智企联合机器之心发布 AI 应用实践白皮书
- 快速入门Python机器学习(14)
- 快速入门Python机器学习(17)
- 机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾
- 机器学习-支持向量回归
- 从机器视觉「总裁」到军团「CTO」,段爱国被边缘化了吗?
- 【机器学习】数据归一化——MinMaxScaler理解
- 机器学习+单细胞技术开发药物|Cellarity完成1.21亿美元C轮融资
- 吴恩达机器学习I
- 机器学习穷途末路?裁员潮下大厂员工艰难「求生」,知名教授:建议考公
- 中国 AI 市场格局(计算机视觉:商汤、旷视、海康)(语音语义:讯飞、阿里、百度)(机器学习平台:第四范式、华为、九章云极)
- 机器学习理论基础到底有多可靠?
- 《机器学习算法竞赛实战笔记1》:如何看待机器学习竞赛问题?
- 机器学习一些概念理解
- 应用数学家Lek-Heng Lim使用代数、几何和拓扑的工具来回答机器学习中的问题
- 分布式机器学习中的拜占庭问题
- VMware招聘机器学习工程师
- Spark入门实战系列–8.Spark MLlib(下)–机器学习库SparkMLlib实战详解大数据
- machine登录Linux机器:新手指南(loginlinux)
- 解密Persado背后的秘密武器:机器学习如何创作营销内容
- 谷歌机器学习白皮书全解析 43条黄金法则(四)
- 「Linux操作系统:机器上的选择」(linux操作系统的电脑)
- 借助Redis实现主从复制配置(redis配置主从机器)
- Python vs R : 在机器学习和数据分析领域中的对比
- ARKit 和机器学习结合,AR 变得更聪明啦!
- 阿里发布机器学习平台PAI2.0,Hinton带头在加拿大设立“向量学院” | AI科技评论周刊