如何绘制ROC曲线

news/2024/12/2 22:59:37/

ROC(Receiver Operating Characteristic)曲线全称是“受试者工作特征”,通常用来衡量一个二分类学习器的好坏。如果一个学习器的ROC曲线能将另一个学习器的ROC曲线完全包住,则说明该学习器的性能优于另一个学习器。

绘制ROC曲线需要先了解两个概念:
1. 混淆矩阵,一个在评判二分类学习器的时候通常都会用到的表格

预测值预测值
实际值
TPFN
FPTN

2. FPR和TPR
FPR(False Positive Rate)和TPR(True Positive Rate)分别对应着ROC曲线的横纵坐标,其定义如下

TPR=TPTP+FN

FPR=FPFP+TN

但仍有一个问题,对于一个学习器它的预测结果只能产生一对(FPR,TPR),这只能绘制一个点,不足以绘制出一条曲线。实际上对于许多学习器在判定二分类问题时是预测出一个对于真值的范围在[0.0, 1.0]之间的概率值,而判定是否为真值则看该概率值是否大于设定的阈值(Threshold)。例如如果阈值设定为0.5则所有概率值大于0.5的均为正例,其余为反例。因此对于不同的阈值我们可以得到一系列相应的FPR和TPR,从而绘制出ROC曲线。
以下列数据举例:
y_true = [0, 1, 0, 1],真实值
y_score = [0.1, 0.35, 0.4, 0.8], 预测概率值
分别取4组判定正例用的阈值:[0.1, 0.35, 0.4, 0.8],可得相应4组FPR,TPR:
FPR: [1, 0.5, 0.5, 0]
TPR: [1, 1, 0.5, 0.5]
绘制ROC曲线图如下:
ROC Curve Example

ROC曲线所覆盖的面积称为AUC(Area Under Curve),可以更直观的判断学习器的性能,AUC越大则性能越好。对于该例的AUC值为0.75。


http://www.ppmy.cn/news/716151.html

相关文章

ROS简介

1.什么是 ROS 机器人是一个系统工程,它涉及机械、电子、控制、通信、软件等诸多学科。以前,开发一个机器人需要设计机械、画电路板、写驱动程序、设计通信架构、组装集成、调试、以及编写各种感知决策和控制算法,每一个任务都需要花费大量的…

ROC曲线的绘制

关于ROC曲线的绘制过程,通过以下举例进行说明 假设有6次展示记录,有两次被点击了,得到一个展示序列(1:1,2:0,3:1,4:0,5:0,6:0),前面的表示序号,后面的表示点击(1)或没有…

【ROS简介】

ROS简介 1 ROS是什么?2 ROS能干什么?3 存在的瓶颈?4 涉及的技术(概率机器人技术)5 内部构造 1 ROS是什么? ROS的核心是一个分布式、低耦合的通讯机制;ROS提供多种机器人开发工具,实…

ROS——roscpp

从本章开始,我们就要正式的接触ROS编程了。在之前的章节,你了解到用命令行启动ROS程序、发送指令消息,或使用可视化界面来调试机器人。你可能很想知道,这些工具到底是如何实现这些功能的。起始这些工具本质上都是基于ROS的客户端库…

ROS介绍

一、ros是什么 ros英文全称是(Robot Operating System),机器人操作系统是一种用于编写机器人软件的灵活框架。 它是工具,库和协议的集合,使用ros开发机器人使开发机器人的难度和成本大大降低,同时他也为开…

ROS官方手机APP--Rocon Remocon在ROS concert中的使用

尝试了那么多次,一个突如其来的想法,竟然终于成功了,决定把它记录下来,因为这方面的资料太少了。曾经想自己编写APP,来控制turtlebot在gazebo里进行仿真,但是也是失败了,现在就先用这官方APP来做…

RosControl学习

ros_control定义了机器人硬件接口和机器人控制器的抽象接口,控制器管理类controller_manager类,具体的控制器的实现类是在ros_controllers包内实现的,其网址为:https://github.com/shadow-robot/ros_controllers 总结&#xff1a…

安装Spark

安装Spark 任务描述 本关任务:完成Spark安装。 相关知识 Apache Spark 是一个新兴的大数据处理通用引擎,提供了分布式的内存抽象。Spark 最大的特点就是快,可比 Hadoop MapReduce 的处理速度快 100 倍。本节将详细说明 Spark 的安装。 下…