ROC曲线和AUC指标
5.1 ROC 曲线¶
ROC 曲线:我们分别考虑正负样本的情况:
- 正样本中被预测为正样本的概率,即:TPR (True Positive Rate)
- 负样本中被预测为正样本的概率,即:FPR (False Positive Rate)
ROC 曲线图像中,4 个特殊点的含义:
- (0, 0) 表示所有的正样本都预测为错误,所有的负样本都预测正确
- (1, 0) 表示所有的正样本都预测错误,所有的负样本都预测错误
- (1, 1) 表示所有的正样本都预测正确,所有的负样本都预测错误
- (0, 1) 表示所有的正样本都预测正确,所有的负样本都预测正确
5.2 绘制 ROC 曲线¶
假设:在网页某个位置有一个广告图片或者文字,该广告共被展示了 6 次,有 2 次被浏览者点击了。每次点击的概率如下:
样本 | 是否被点击 | 预测点击概率 |
---|---|---|
1 | 1 | 0.9 |
2 | 0 | 0.7 |
3 | 1 | 0.8 |
4 | 0 | 0.6 |
5 | 0 | 0.5 |
6 | 0 | 0.4 |
根据预测点击概率排序之后:
样本 | 是否被点击 | 预测点击概率 |
---|---|---|
1 | 1 | 0.9 |
3 | 1 | 0.8 |
2 | 0 | 0.7 |
4 | 0 | 0.6 |
5 | 0 | 0.5 |
6 | 0 | 0.4 |
绘制 ROC 曲线:
阈值:0.9
- 原本为正例的 1、3 号的样本中 3 号样本被分类错误,则 TPR = ½ = 0.5
- 原本为负例的 2、4、5、6 号样本没有一个被分为正例,则 FPR = 0
阈值:0.8
- 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1
- 原本为负例的 2、4、5、6 号样本没有一个被分为正例,则 FPR = 0
阈值:0.7
- 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1
- 原本为负类的 2、4、5、6 号样本中 2 号样本被分类错误,则 FPR = ¼ = 0.25
阈值:0.6
- 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1
- 原本为负类的 2、4、5、6 号样本中 2、4 号样本被分类错误,则 FPR = 2/4 = 0.5
阈值:0.5
- 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1
- 原本为负类的 2、4、5、6 号样本中 2、4、5 号样本被分类错误,则 FPR = ¾ = 0.75
阈值 0.4
- 原本为正例的 1、3 号样本被分类正确,则 TPR = 2/2 = 1
- 原本为负类的 2、4、5、6 号样本全部被分类错误,则 FPR = 4/4 = 1
(0, 0.5)、(0, 1)、(0.25, 1)、(0.5, 1)、(0.75, 1)、(1, 1)
由 TPR 和 FPR 构成的 ROC 图像为:
5.3 AUC 值¶
我们发现:
- 我们发现:图像越靠近 (0,1) 点则模型对正负样本的辨别能力就越强
- 我们发现:图像越靠近 (0, 1) 点则 ROC 曲线下面的面积就会越大
- AUC 是 ROC 曲线下面的面积,该值越大,则模型的辨别能力就越强
- AUC 范围在 [0, 1] 之间
- 当 AUC= 1 时,该模型被认为是完美的分类器,但是几乎不存在完美分类器
AUC 值主要评估模型对正例样本、负例样本的辨别能力.
6. API介绍¶
6.1 分类评估报告api¶
sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )'''y_true:真实目标值y_pred:估计器预测目标值labels:指定类别对应的数字target_names:目标类别名称return:每个类别精确率与召回率'''
6.2 AUC计算API¶
from sklearn.metrics import roc_auc_scoresklearn.metrics.roc_auc_score(y_true, y_score)计算ROC曲线面积,即AUC值y_true:每个样本的真实类别,必须为0(反例),1(正例)标记y_score:预测得分,可以是正例的估计概率、置信值或者分类器方法的返回值
ROC曲线和AUC指标相关推荐
- 机器学习(16)ROC曲线与AUC指标(癌症分类的模型检测--AUC指标)
目录 一.基础理论 0.引言 1.TPR与FPR 1.TPR(召回率) 2.FPR 2.ROC曲线 3.AUC指标 二.癌症分类的模型检测(AUC指标) 1.正反例转1.0 2.计算AUC指标 总代码 ...
- 机器学习算法 03 —— 逻辑回归算法(精确率和召回率、ROC曲线和AUC指标、过采样和欠采样)
文章目录 系列文章 逻辑回归 1 逻辑回归介绍 1.1 逻辑回归原理 输入 激活函数 1.2 损失以及优化 2 逻辑回归API介绍 3 案例:肿瘤良性恶性预测 4 分类模型的评估 4.1 分类评估方法 ...
- ROC曲线与AUC指标理解
ROC曲线,也称受试者工作特征曲线,感受性曲线.用于研究X对于Y的预测准确率情况. ROC曲线涉及的几个术语名词: 指标: ROC曲线最初是运用在军事上,当前在医学领域使用非常广泛,因此指标称&quo ...
- 神经网络常见评价指标超详细介绍(ROC曲线、AUC指标、AUROC)
目录 一.基本概念 二.ROC曲线 三.AUROC(AUC指标) 四.实例介绍 4.1 公式实现 4.2 代码实现 一.基本概念 真阳性(TP):判断为真,实际也为真: 伪阳性(FP):判断为真,实际 ...
- 深度剖析ROC曲线以及AUC指标
首先,我们要知道,ROC描绘的是一条曲线,而AUC则是ROC曲线下的面积,是一个数值. 接下来,在正式讲解之前,我们先来看一个例子: 假设测试样本集的数量为1k个,其中A类样本有950个,B类样本有5 ...
- ROC曲线与AUC指标
ROC曲线 ROC曲线的动机 对于0,1两类分类问题,一些分类器得到的结果往往不是0,1这样的标签,如神经网络,得到诸如0.5,0.8这样的分类结果.这时,我们人为取一个阈值,比如0.4,那么小于0. ...
- 准确率、精确率、召回率、F1-score、TPR、FPR、ROC曲线、AUC
1.分类评估方法 1.1精确率与召回率 1.3.分类评估报告api sklearn.metrics.classification_report(y_true, y_pred, labels=[], t ...
- 为多模型寻找模型最优参数、多模型交叉验证、可视化、指标计算、多模型对比可视化(系数图、误差图、混淆矩阵、校正曲线、ROC曲线、AUC、Accuracy、特异度、灵敏度、PPV、NPV)、结果数据保存
使用randomsearchcv为多个模型寻找模型最优参数.多模型交叉验证.可视化.指标计算.多模型对比可视化(系数图.误差图.classification_report.混淆矩阵.校正曲线.ROC曲 ...
- 分类模型的ROC曲线、AUC值、GINI系数、Lift、Gain、KS指标分别是什么?计算公式是什么?有什么意义?
分类模型的ROC曲线.AUC值.GINI系数.Lift.Gain.KS指标分别是什么?计算公式是什么?有什么意义? 目录
最新文章
- 一文读懂线性回归、岭回归和Lasso回归
- 通过注册表修改默认浏览器设置
- 【C语言】单链表的所有操作的实现(包括PopBack、PushBack、PopFront、PushFront、Insert)...
- 数据中心水冷系统一次泵与二次泵的选择
- 成员函数和友元函数实现一元运算符重载
- vooc是什么快充协议_5G时代除了网速,快充同样重要!
- 华为云RTC服务架构及应用实践
- mybatis 知识1
- ASP.NET2.0 XML系列(6): 使用XmlReaderSettings配置XmlReader的输出
- makefile 的export问题
- 剑指Offer - 面试题57 - II. 和为s的连续正数序列(滑动窗口)
- 9.霍夫变换:圆——圆的算法、投票使用技巧、优点和缺点_2
- WEBPACK+ES6+REACT入门(7/7)-React中绑定文本框与state中的值
- C++视频教程资源链接合集
- android win7 共享网络打印机,详解win7共享打印机如何设置
- 宇宙各种定律,也许可以改变你的命运。
- R语言错误的提示(中英文翻译)
- swoole 点对点发送消息推送
- 服务——Service
- 洛谷3379-LCA-C++-(LCA+倍增)
热门文章
- LeetCode-解数独(C++)
- 考试安全平台_ER图_功能图_数据字典_数据库脚本
- js二维数组和多维数组 flatMap ( )
- Java语言中 void和public void的区别,static和public static的区别。
- 游戏编程模式之游戏循环
- 结构光N步相移+多频外差法之解相位:三频四相
- java的框架是干嘛的_spring框架是干什么的
- flac3d6.0教程 附安装教程
- CnOpenData公共数据专区上新 | 中文金融情感词典
- 查看服务器host文件,查看主机DNS服务器