ROC、TPR、FPR的含义

1、ROC(Receiver Operating Characteristic)
 

ROC(Receiver Operating Characteristic)曲线是一种用于评估分类模型性能的工具。它通过绘制真阳性率(True Positive Rate, TPR)与假阳性率(False Positive Rate, FPR)之间的关系来展示模型的分类能力。ROC 曲线下的面积(AUC, Area Under the Curve)通常用于量化模型的性能。

如何绘制 ROC 曲线

在 Python 中,你可以使用 scikit-learn 库来绘制 ROC 曲线。以下是一个简单的示例:

 

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, auc
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification# 生成一个示例数据集
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)# 使用随机森林分类器
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)# 获取测试集的预测概率
y_pred_proba = model.predict_proba(X_test)[:, 1]# 计算 FPR, TPR 和阈值
fpr, tpr, thresholds = roc_curve(y_test, y_pred_proba)# 计算 AUC
roc_auc = auc(fpr, tpr)# 绘制 ROC 曲线
plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()

注:本图来自无监督异常检测算法patchcore,不是上面给的代码例子产生的

ROC 曲线下的面积(AUC, Area Under the Curve)是评估分类模型性能的一个重要指标。AUC 的值范围在 0 到 1 之间,具体含义如下:

  • AUC = 1: 表示模型完美地将所有正样本排在所有负样本之前,即模型具有完美的分类能力。

  • AUC = 0.5: 表示模型的分类能力等同于随机猜测,即模型没有分类能力。

  • AUC < 0.5: 表示模型的分类能力比随机猜测还差,通常这种情况很少见,可能是因为模型预测结果完全相反。

  • 0.5 < AUC < 1: 表示模型具有一定的分类能力,AUC 值越接近 1,模型的分类能力越强。

ROC 曲线是通过在不同的分类阈值下计算 TPR 和 FPR,然后绘制 TPR 与 FPR 之间的关系得到的。ROC 曲线的横轴是 FPR,纵轴是 TPR。

  • 理想情况: 当 TPR 接近 1 且 FPR 接近 0 时,模型的性能最好。

  • 随机猜测: 当 TPR 和 FPR 相等时,模型的性能等同于随机猜测。

总结

  • AUC: 衡量模型分类能力的综合指标,值越大,模型的分类能力越强。

  • TPR: 衡量模型对正样本的识别能力,值越大,模型对正样本的识别能力越强。

  • FPR: 衡量模型对负样本的误判能力,值越小,模型对负样本的误判能力越弱。

通过 ROC 曲线和 AUC 值,你可以全面评估分类模型的性能,并选择合适的模型进行应用。

2、真阳性率(True Positive Rate, TPR)与假阳性率(False Positive Rate, FPR)的定义

真阳性率(True Positive Rate, TPR)也称为灵敏度(Sensitivity)或召回率(Recall),表示实际为正的样本中被正确预测为正的比例。其计算公式为:

                                            

其中:

  • TP (True Positive): 实际为正且被正确预测为正的样本数。

  • FN (False Negative): 实际为正但被错误预测为负的样本数。

假阳性率(FPR)

假阳性率(False Positive Rate, FPR)表示实际为负的样本中被错误预测为正的比例。其计算公式为:

 

其中:

  • FP (False Positive): 实际为负但被错误预测为正的样本数。

  • TN (True Negative): 实际为负且被正确预测为负的样本数。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仪表放大器AD620

AD623 是一款低功耗、高精度的仪表放大器&#xff0c;而不是轨到轨运算放大器。它的输入电压范围并不覆盖整个电源电压&#xff08;轨到轨&#xff09;&#xff0c;但在单电源供电下可以处理接近地电位的输入信号。 AD620 和 AD623 都是仪表放大器&#xff0c;但它们在一些关键…

vscode【实用插件】Notes 便捷做笔记

安装 在 vscode 插件市场的搜索 Notes点 安装 安装成功后&#xff0c;vscode 左侧栏会出现 使用 初次使用 需先选择一个本地目录 重启 vscode 后&#xff0c;得到 切换笔记目录 新建笔记 快捷键为 Alt N 默认会创建 .md 文件 配合插件 Markdown Preview Enhanced 预览 .md…

Go语言中的Mutex实现探讨

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在并发编程中,互斥锁(Mutex)是一个重要的工具,它帮助我们控制多个协程对共享资源的访问,从而防止数据竞争和不一致性。本文将深入探讨Go语言中Mutex的实现历程和使用方式,同时分享在处理并发问题时的思路与…

Spring Service中的@Service注解的使用

Service注解是Spring框架中用于标识业务逻辑层&#xff08;Service层&#xff09;的注解。它是Spring组件扫描机制的一部分&#xff0c;表明这个类包含业务逻辑&#xff0c;并且应该由Spring容器管理为一个Spring Bean。它与Component类似&#xff0c;都是标识一个类为Spring管…

RestCloud webservice 流程设计

RestCloud webservice 流程设计 操作步骤 离线数据集成&#xff08;首页&#xff09; → \rightarrow → 示例应用数据集成流程&#xff08;边栏&#xff09; → \rightarrow → 所有数据流程 → \rightarrow → webservice节点获取城市列表 → \rightarrow → 流程设计 …

Linux网络——HTTPS详解

文章目录 HTTPS加密 常见加密方式对称加密非对称加密非对称对称数据指纹 证书CA认证数字签名非对称证书对称 中间人 HTTPS 这也是一个应用层协议&#xff0c;是在HTTP协议的基础上引入了一个加密层 为什么要加密呢&#xff0c;这主要是因为如果不对传输主体加密&#xff0c;当…

鹏哥C语言53---第8次作业:函数传参

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> //--------------------------------------------------------------------------------------------- 第 8 次作业 函数传参等 //-----------------------------------------------------…

2024中国新能源汽车零部件交易会,开源网安展示了什么?

近日&#xff0c;2024中国新能源汽车零部件交易会在十堰国际会展中心举行。开源网安车联网安全实验室携车联网安全相关产品及解决方案亮相本次交易会&#xff0c;保障智能网联汽车“车、路、云、网、图、边”安全&#xff0c;推动智能网联汽车技术突破与产业化发展。 中国新能源…

【深度学习】(7)--神经网络之保存最优模型

文章目录 保存最优模型一、两种保存方法1. 保存模型参数2. 保存完整模型 二、迭代模型 总结 保存最优模型 我们在迭代模型训练时&#xff0c;随着次数初始的增多&#xff0c;模型的准确率会逐渐的上升&#xff0c;但是同时也随着迭代次数越来越多&#xff0c;由于模型会开始学…

【从0开始自动驾驶】用python做一个简单的自动驾驶仿真可视化界面

【从0开始自动驾驶】用python做一个简单的自动驾驶仿真可视化界面 废话几句废话不多说&#xff0c;直接上源码目录结构init.pysimulator.pysimple_simulator_app.pyvehicle_config.json 废话几句 自动驾驶开发离不开仿真软件成品仿真软件种类多https://zhuanlan.zhihu.com/p/3…

【CSS】鼠标 、轮廓线 、 滤镜 、 堆叠层级

cursor 鼠标outline 轮廓线filter 滤镜z-index 堆叠层级 cursor 鼠标 值说明值说明crosshair十字准线s-resize向下改变大小pointer \ hand手形e-resize向右改变大小wait表或沙漏w-resize向左改变大小help问号或气球ne-resize向上右改变大小no-drop无法释放nw-resize向上左改变…

蓝桥杯1.小蓝的漆房

样例输入 2 5 2 1 1 2 2 1 6 2 1 2 2 3 3 3样例输出 1 2 import math import os import sys tint(input())#执行的次数 for j in range(t):n,kmap(int,input().split())#n为房间数 k为一次能涂的个数alist(map(int,input().split()))#以列表的形式存放房间的颜色maxvaluemath…

处理RabbitMQ连接和认证问题

在使用RabbitMQ进行消息队列管理时&#xff0c;我们可能会遇到各种连接和认证问题。本文将介绍如何诊断和解决这些问题&#xff0c;并通过使用RabbitMQ的管理端进行登录验证来确保配置正确。 1. 问题概述 在最近的一次部署中&#xff0c;我们遇到了两个主要问题&#xff1a; …

IPSec隧道协议学习(一)

前情回顾 前面介绍的GRE隧道协议&#xff0c;可以字LAN之间通过Internet建立隧道&#xff0c;实现网络间资源共享&#xff0c;但是GRE隧道协议不能实现加密功能&#xff0c;传输的数据不受加密保护&#xff0c;为了实现在隧道间传输数据包收到加密保护&#xff0c;需要使用IPS…

GitLab发送邮件功能详解:如何配置自动化?

GitLab发送邮件的设置指南&#xff1f;怎么优化GitLab发送邮件&#xff1f; GitLab作为一个强大的代码管理平台&#xff0c;不仅提供了代码托管、CI/CD等功能&#xff0c;还集成了发送邮件的功能&#xff0c;使得开发团队能够及时获取项目动态。AokSend将详细介绍如何配置GitL…

Spring 的依赖注入原理

Spring 的依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;是其核心特性之一&#xff0c;它的主要作用是管理对象之间的依赖关系&#xff0c;降低对象之间的耦合度&#xff0c;提高代码的可维护性和可测试性。其原理如下&#xff1a; 一、基本概念 控制反…

代码随想录 -- 回溯 -- 非递减子序列

491. 非递减子序列 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;重点是去重 收集结果&#xff1a;每次进入递归先判断path中的元素数量&#xff0c;如果大于1了&#xff0c;就将path收集到result中。 递归参数&#xff1a;nums&#xff0c;index&#xff0c;pa…

2024 go-zero社交项目实战

背景 一位商业大亨&#xff0c;他非常看好国内的社交产品赛道&#xff0c;想要造一款属于的社交产品&#xff0c;于是他找到了负责软件研发的小明。 小明跟张三一拍即合&#xff0c;小明决定跟张三大干一番。 社交产品MVP版本需求 MVP指&#xff1a;Minimum Viable Product&…

职场能力强的人都在做什么---今日头条

【职场里,能力强的人都在做哪些事... - 今日头条】https://m.toutiao.com/is/ikn6kt9q/ 知识雷达 2024-09-21 16:33 目录 职场里,能力强的人都在做哪些事呢? 1、复盘; 2、多角度思考;3、记录信息; 4、永远积极主动;5、主动获取信息差; 6、明确人和人的关系;7、…

ISO8583包简介(一)

简介 ISO8583包&#xff08;简称8583包&#xff09;是一个国际标准的包格式&#xff0c;最多由128个字段域组成&#xff0c;每个域都有统一的规定&#xff0c;并有定长与变长之分。8583包前面一段为位图&#xff0c;用来确定包的字段域组成情况。 其中位图是8583包的灵魂&#…