分类模型评估指标详解(二分类、多分类、混淆矩阵)

 、二分类评估

1.混淆矩阵 (ConfusionMatrix)

TP:1的预测为1 (正确的积极) 正确判断

FP:0预测为1 (错误的积极) 错误判断

FN:1预测为0 (正确的消极) 漏判断的

TN:0预测为0 (错误的消极) 成功未判断的

(accuracy):预测对的值占预测总的概率 (PR)                       精准(precision)=TP/(TP+FP)----- 目标指标预测正确的的概率(预测股票的涨/跌)precision_score

召回率覆盖率: (recall)=TP/ (TP+FN) ------找到预测目标指标的概率(找病人)recall_score

2.F1-score

召回率和精确率之间往往存在此消彼长的关系,当模型能找出更多的正样本时,往往也会导致将更多的负样本分类为正样本,即recall高时,precision往往较低,而precision高时,recall往往较低。为了在这两个指标之间取得平衡,发明了F1指标,它是上述两者的调和平均数。

F1-Score(平衡精准率和召回率) = 2*Precision*Recall/(Precision+Recall)

precisionrecall相互平衡

决策边界--阈值:threshold

score分数值

阈值 (threshold) :进行判断区分的值

循环获取每个threshold对应的精确率 (precisions) 和召回率(recalls)

3.RP曲线(precision/recall) 曲线函数:

precision_recall_curve

获取每个阈值对应的精确率和召回率的值

X-精准(precision)=TP/(TP+FP)----- 目标指标预测正确的的概率(预测股票的涨 跌) 

Y-召回率(recall): =TP/ (TP+FN) ------找到预测目标指标的概率(找病人) 

4.ROC曲线  ( TPR和FPR之间的关系)

ROC曲线/AUC(Area Under the Curve,曲线下面积)

ROC曲线(receiver operating characteristic curve), 是反映敏感性和特异性连续变量的综合指标,曲线下面积越大,诊断准确性越高。

横坐标:1-Specificity,伪正类率(False positive rate,

FPR),预测为正但实际为负的样本占所有负例样本的比例;

FPR=FP/(TN+FP)预测错了占不是目标值的比例 (找非目标值为目标值的概率) X

纵坐标:Sensitivity,真正类率(True positive rate,

TPR),预测为正且实际为正的样本占所有正例样本的比例。

TPR=TP/(TP+FN)预测对的占目标值的比例 (召回率recall:找到目标值的概率) Y

AUC ( ROC曲线的面积:最大为1) :面积越大越好

应用场合:比较两个模型的优

P/RROC是两个不同的评价指标和计算方式,  一般情况下,  检索用前者,  识别等用后者。

、  多分类评估

多分类问题的所有指标基本上都来自于二分类指标,但是要对所有类别进行平均。多分类的精度被定义为正确分类的样本所占的比例。

同样,如果类别是不平衡的,精度并不是很好的评估度量。除了精度,常用的工具有混淆矩阵和分类报告。

对于多分类问题中的不平衡数据集,最常用的指标就是多分类版本的f- 分数。多分类f- 分数背后的想法是,对每个类别计算一个二分类f- 分数,其中该类别是正类,其他所有类别组成反类。然后,使用以下策略之一对这些按类别f- 分数进行平均。

对于多分类模型的评价方法,通常是先将其转换为多个二分类模型,分别对其进行指标计算,然后使用一些规则来把这些指标汇总起来。

比如一个多分类模型的样本标签有A、B、C三类,则先把它看作三个二分类器,分类器1的标签为A,非A;分类器2的标签为B,非B;分类器3的标签为C,非C。对每个二分类器的评估我们已经知道了,但要评估分类器的总体功能,就需要考虑三个类别的综合预测性能。

下面有三种常用的汇总准则:

1.“宏”(macro)平均

Macro-average方法,对各个二分类器的评估指标求平均。该方法受样本量小的类别影响大。

该方法最简单,直接将不同类别的评估指标(Precision/ Recall/ F1-score)加起来求平均,给所有类别相同的权重。该方法能够平等看待每个类别,但是它的值会受稀有类别影响。

2.“加权”(weighted)平均

以每个类别的支持作为权重来计算按类别f- 分数的平均值。分类报告中给出的就是这个值。

Weighted-average方法,对各个二分类器的评估指标求加权平均,权重为该类别在总样本中的占比。该方法受样本量大的类别影响大。

该方法给不同类别不同权重(权重根据该类别的真实分布比例确定),每个类别乘权重后再进行相加。该方法考虑了类别不平衡情况,它的值更容易受到常见类(majority class)的影响

3.“微”(micro)平均:

计算所有类别中假正例、假反例和真正例的总数,然后利用这些计数来计算准确率、召回率和f- 分数。

Micro-average方法,把每个类别的TP, FP, FN先相加之后,在根据二分类的公式进行计算。

该方法把每个类别的TP, FP, FN先相加之后,在根据二分类的公式进行计算。

例:

实际值 (0-9)

预测值 (0-9)

十分类混淆矩阵:

实际值对应预测值的个数  (对角线为预测值=实际值:  即预测正确)

评估 参数:

每一行的预测错误占该行总预测数的比例  (err_matrix)

:  将1预测为9,  将8预测为1的比率大

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

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

相关文章

个人云服务器搭建MQTT服务器

个人云服务器搭建MQTT服务器 文章目录 个人云服务器搭建MQTT服务器1️⃣ 前言2️⃣ EMQX部署 1️⃣ 前言 MQTT 👉MQTT(Message Queuing Telemetry Transport)即消息队列遥测传输协议 • 是一个轻量的发布订阅模式消息传输协议,专门…

STM32 Proteus仿真LCD12864俄罗斯方块-FZ0063

STM32 Proteus仿真LCD12864俄罗斯方块-FZ0063 Proteus仿真小实验: STM32 Proteus仿真LCD12864俄罗斯方块-FZ0063 功能: 硬件组成:STM32F103R6单片机 LCD12864显示器多个按键 1.标准俄罗斯方块经典游戏玩法,带计时&#xff0c…

Mysql 实现批量插入对已存在数据忽略或更新

Mysql 实现批量插入对已存在数据忽略/更新 文章目录 Mysql 实现批量插入对已存在数据忽略/更新一. 表的准备二. 实现2.1 实现原理2.2 批量插入对已存在数据忽略 一. 表的准备 CREATE TABLE demo (id int NOT NULL AUTO_INCREMENT COMMENT 主键id,name varchar(10) DEFAULT NUL…

shell脚本--------shell变量、条件表达式、流程控制

第三阶段基础 时 间:2023年7月7日 参加人:全班人员 内 容: shell变量、条件表达式、流程控制 目录 一、shell变量 二、shell条件表达式与运算符 三、break和continue语句 演示:break语句 continue语句 四、实例拓展 …

9.2.4 vim 的暂存盘、救援回复与打开时的警告讯息

当我们在使用 vim 编辑时, vim 会在与被编辑的文件的目录下,再创建一个名为.filename.swp 的文件。 比如说我们在上一个小节谈到的编辑 /tmp/vitest/man_db.conf 这个文件时, vim 会主动的创建 /tmp/vitest/.man_db.conf.swp 的暂存盘&#x…

常用数据分类算法原理介绍、优缺点分析与代码实现[LR/RF/DT/SVM/NavieBayes/GBDT/XGBoost/DNN/LightGBM等]

本文的主要目的是总结记录日常学习工作中常用到的一些数据分类算法,对其原理简单总结记录,同时分析对应的优缺点,以后需要的时候可以直接翻看,避免每次都要查询浪费时间,欢迎补充。 机器学习领域中常用的分类模型包括以…

智能物流监控系统的数据平台技术研究

完整资料进入【数字空间】查看——baidu搜索"writebug" 1.1 项目背景 物联网技术是利用传感器嵌入各种末端设备,通过无线或有线网络接入互联网以实现人与物、物与物实时互联的新兴技术[1]。 智能物流监控系统是在物流量越来越大、物流价值越来越贵重的背…

关于SpringBoot、Nginx 请求参数包含 [] 特殊符号 返回400状态

问题来源: 使用RESTful风格发送带有特殊符号(如:点、大括号等)的请求,当使用Nginx做地址映射时会返回报"HTTP Status 400-Bad Request"的错误,这个时候我们需要对Nginx的映射方式做一下调整。 Nginx调整完发现跳转后又报…

基于RWKV-Runner大语言模型系统

RWKV Runner 旨在消除大语言模型的使用门槛,全自动处理AI对话,并且提供了OpenAI API兼容的接口。使用起来简单方便,但是还是比较吃机器,显存2G到32G都可以使用,根据自己的模型选择即可。 总结起来: 使用起来方便简单,上手容易。需要有电脑基础,很多地方还不是傻瓜化。需…

Android JetPack深入分析DataBinding源码

前言 数据绑定库是一种支持库,借助该库,您可以使用声明性格式(而非程序化地)将布局中的界面组件绑定到应用中的数据源。 DataBinding支持双向绑定,数据变化的时候界面跟着变化,界面变化也同步给数据&…

【C语言】1-Visual C++ 2010 的简单使用和第一个 C 语言程序

1. Visual C++ 2010 的简单使用 1.1 面板介绍 1.2 新建C语言项目 打开 Visual C++ 2010,点击 New Project 根据下面的图示进行操作,其中需要注意 ③:这里输入的为项目名(建议和我的命名保持一致) ④:这里是项目存放的位置,可以自己选择,最好不要有中文路径(只要是使…

selenium 浏览器托管

selenium 浏览器托管,是启动一个浏览器,调试代码,可以运行当前调试代码,不用从启动浏览器开始从头执行 在谷歌浏览器chrome.exe 目录中打开cmd 输入下面目录,启动器浏览器 chrome.exe --remote-debugging-port9222 -…