分类模型常用评价指标——混淆矩阵和roc曲线

2024-04-12 09:18

本文主要是介绍分类模型常用评价指标——混淆矩阵和roc曲线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

混淆矩阵

在这里插入图片描述

定量精度
  • 总体分类精度(Overall Accuracy)
    分类正确的样本数/总样本数
    OA=(e+f+g)/(a+b+c+d+e+f+g+h+i)
  • Kappa系数
    P0=OA
    Pe=∑(真实样本数×分类样本数)/样本总数2
    例如:Pe=[(a+b+c)×(a+d+g)+(b+e+h)×(d+e+f)+(g+h+i)×(c+f+i)] /(a+b+c+d+e+f+g+h+i)2
    Kappa=(P0-Pe )/(1-Pe)
  • 用户精度(User accuracy )
    从预测的角度出发,预测正确的样本占该类别总的预测样本数
    • 类别1user_accuracy=a/(a+d+g)
    • 类别2user_accuracy=e/(b+e+h)
    • 类别3user_accuracy=i/(c+f+i)
  • 生产者精度(Producer accuracy)
    用样本的角度出发,被正确预测的样本数占该类别的样本总数
    • 类别1Prod.accuracy=a/(a+b+c)
    • 类别2Prod.accuracy=e/(d+e+f)
    • 类别3Prod.accuracy=i/(g+h+i)
ROC曲线

roc曲线主要用来评估二分类模型的精度
在这里插入图片描述
a:TP(真阳性)
c:FP(假阳性)
b:FN(假阳性)
d:TN(真阴性)

  • 真检率(灵敏度,击中率)
    TPR=a/(a+b)
  • 误检率(特异度,虚惊率)
    FPR=c/(c+d)

ROC曲线的坐标横轴是FPR,坐标纵轴是TPR,ROC曲线描述的不是FPR与TPR间的函数关系
在这里插入图片描述

ROC曲线描述的不是FPR与TPR间的函数关系,FPR与TPR间没有函数关系,FPR与TPR是阈值τ的函数,τ描述的是样本中被检测为阳性的比率,当τ=0时,所有样本被识别为阴性,此时FPR(特异度、虚惊率、误检率)为0(FPR越小越好),但TPR(灵敏度、命中率、真检率)为0(TPR越大越好),当τ=1时所有样本被识别为阳性,此时TPR=1,FPR=1。因此需要选择一个合适的τ值使得TPR越大越好,FPR越小越好。

曲线下面积(Area Under Curve,AUC)
AUC等于roc曲线与坐标横轴围城的面积,是roc曲线的积分,AUC数值越大越好

这篇关于分类模型常用评价指标——混淆矩阵和roc曲线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/896723

相关文章

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致