分类模型常用评价指标——混淆矩阵和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

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat