传统机器学习(五)—分类、回归模型的常见评估指标

news2024/11/25 18:37:44

传统机器学习—分类、回归模型的常见评估指标

一、分类模型的常见评估指标

1.1 混淆矩阵

混淆矩阵,在无监督学习中被称为匹配矩阵(matching matrix),之所以叫混淆矩阵,是因为我们能够很容易从图表中看到分类器有没有将样本的类别给混淆了。

在这里插入图片描述

TP(True Positive) ---- 将正类预测为正类数(真阳性)
FN(False Negative) ---- 将正类预测为负类数(假阴性)
FP(False Positive) ---- 将负类预测为正类数(假阳性)
TN(True Negative) ---- 将负类预测为负类数(真阴性)

现在我们举个列子,并画出混淆矩阵表,假如宠物店有10只动物,其中6只狗,4只猫,现在有一个分类器将这10只动物进行分类,分类结果为5只狗,5只猫,那么我们画出分类结果混淆矩阵,并进行分析,如下(我们把狗作为正类):

在这里插入图片描述

通过混淆矩阵我们可以轻松算出

  • 真实狗的数量(行数量相加)为6=5+1

  • 分类得到狗的数量(列数量相加)为5=5+0

  • 真实猫的数量为4=0+4

  • 分类得到猫的数量为5=1+4

那么对于二分类问题来说,

准确率(accuracy): 反映分类器统对整个样本的判定能力,能将正的判定为正,负的判定为负,公式如下:

准确率 a c c u r a c y = T P + T N ( T P + F N + F P + T N ) 准确率accuracy=\frac{TP + TN}{(TP+FN+FP+TN)} 准确率accuracy=(TP+FN+FP+TN)TP+TN

猫狗案例中:准确率accuracy=(TP+TN)/(TP+FN+FP+TN)=9/10

精确率(Precision):指的是所得数值与真实值之间的精确程度;预测正确的正例数占预测为正例总量的比率,一般情况下,精确率越高,说明模型的效果越好。
精确率 p r e c i s i o n = T P ( T P + F P ) 精确率precision=\frac{TP}{(TP + FP)} 精确率precision=(TP+FP)TP
猫狗案例中:精确率Precision=TP/(TP+FP)=5/(5+1)=5/6

召回率(Recall)预测对的正例数占所有正例的比率,一般情况下,Recall越高,说明有更多的正类样本被模型预测正确,模型的效果越好。
召回率 r e c a l l = T P ( T P + F N ) 召回率recall=\frac{TP}{(TP + FN)} 召回率recall=(TP+FN)TP
猫狗案例中:召回率recall=a/(a+b)=TP/(TP+FN)=5/(5+0)=1

F1是精确率和召回率的调和均值,即:
2 F 1 = 1 P + 1 R \frac{2}{F_{1}} = \frac{1}{P} + \frac{1}{R} F12=P1+R1

F 1 = 2 T P 2 T P + F P + F N {F_{1}} = \frac{2TP}{2TP + FP + FN} F1=2TP+FP+FN2TP

1.2 ROC曲线

AUC是一种模型分类指标,且仅仅是二分类模型的评价指标。AUC是Area Under Curve的简称,那么Curve就是ROC(Receiver Operating Characteristic),翻译为接受者操作特性曲线。也就是说ROC是一条曲线,AUC是一个面积值。

ROC曲线为 FPR 与 TPR 之间的关系曲线,这个组合以 FPR 对 TPR,即是以代价 (costs) 对收益 (benefits),显然收益越高,代价越低,模型的性能就越好。

  • x 轴为假阳性率(FPR):在所有的负样本中,分类器预测错误的比例

F P R = F P ( F P + T N ) FPR=\frac{FP}{(FP + TN)} FPR=(FP+TN)FP

  • y 轴为真阳性率(TPR):在所有的正样本中,分类器预测正确的比例(等于Recall)

T P R = T P ( T P + F N ) TPR=\frac{TP}{(TP + FN)} TPR=(TP+FN)TP

举例说明:

如在医学诊断的主要任务是尽量把生病的人群都找出来,也就是TPR越高越好。而尽量降低没病误诊为有病的人数,也就是FPR越低越好。

不难发现,这两个指标之间是相互制约的。如果某个医生对于有病的症状比较敏感,稍微的小症状都判断为有病,那么他的TPR应该会很高,但是FPR也就相应地变高。最极端的情况下,他把所有的样本都看做有病,那么TPR达到1,FPR也为1。

我们以FPR为横轴,TPR为纵轴,得到如下ROC空间。

在这里插入图片描述

我们可以看出

  • 左上角的点(TPR=1,FPR=0),为完美分类,也就是这个医生医术高明,诊断全对;

  • 点A(TPR>FPR),医生A的判断大体是正确的;

  • 中线上的点B(TPR=FPR),也就是医生B全都是蒙的,蒙对一半,蒙错一半;

  • 下半平面的点C(TPR <FPR),这个医生说你有病,那么你很可能没有病。

上图中一个阈值,得到一个点。现在我们需要一个独立于阈值的评价指标来衡量这个医生的医术如何,也就是遍历所有的阈值,得到 ROC 曲线。

根据ROC曲线评估模型

  • a.若一个学习器的ROC曲线被另一个学习器的曲线完全包住,则后者优于前者。

  • b.若两个学习器的ROC曲线发生交叉,则可根据曲线下方的面积大小来比较,ROC曲线下方的面积为AUC(Area Under ROC Curve).

在这里插入图片描述

如上图,ROC曲线距离左上角越近分类器效果越好,我们可以知道分类器 4 效果最好, 分类器 1 效果最差。

那么怎样判断分类器 2 和分类器 3 呢?我们引入了下面要讲的 AUC。

1.3 AUC曲线

1.3.1 AUC定义

AUC 值为 ROC 曲线所覆盖的区域面积,显然,AUC越大,分类器分类效果越好。

AUC = 1,是完美分类器。

0.5 < AUC < 1,优于随机猜测。有预测价值。

AUC = 0.5,跟随机猜测一样(例:丢铜板),没有预测价值。

AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。

注:对于AUC小于 0.5 的模型,我们可以考虑取反(模型预测为positive,那我们就取negtive),这样就可以保证模型的性能不可能比随机猜测差。

1.3.2 AUC的物理意义

AUC的物理意义:正样本的预测结果大于负样本的预测结果的概率。所以AUC反映的是分类器对样本的排序能力

另外值得注意的是,AUC对样本类别是否均衡并不敏感,这也是不均衡样本通常用AUC评价分类器性能的一个原因。

举例解释AUC的含义:

小明一家四口,小明5岁,姐姐10岁,爸爸35岁,妈妈33岁建立一个逻辑回归分类器,来预测小明家人为成年人概率,假设分类器已经对小明的家人做过预测,得到每个人为成人的概率如下图所示。

小明姐姐妈妈爸爸
a0.120.350.760.85
b0.120.350.440.49
c0.520.650.760.85
  • AUC只与概率的相对大小(概率排序)有关,和绝对大小没关系。由于三个模型概率排序的前两位都是未成年人(小明,姐姐),后两位都是成年人(妈妈,爸爸),因此三个模型的AUC都等于1。

  • AUC只关注正负样本之间的排序,并不关心正样本内部,或者负样本内部的排序。这也体现了AUC的本质:任意个正样本的概率都大于负样本的概率的能力。例子中AUC只需要保证(小明和姐姐)(爸爸和妈妈),小明和姐姐在前2个排序,爸爸和妈妈在后2个排序,而不会考虑小明和姐姐谁在前,或者爸爸和妈妈谁在前。

1.3.3 ROC 和AUC都能应用于非均衡的分类问题

​ 我们可以发现TPR只是正样本中预测正确的概率,在正样本内部进行,并没有牵扯到负样本。而FPR只是负样本中预测错误的概率,在负样本内部进行,并没有牵扯到正样本。

​ TPR和FPR的计算并没有涉及正负样本的互动(也就是没有跨行)。和正负样本的比例没有关系。因此 ROC 的值与实际的正负样本比例无关,因此既可以用于均衡问题,也可以用于非均衡问题。而 AUC 的几何意义为ROC曲线下的面积,因此也和实际的正负样本比例无关。

二、回归模型的常见评估指标

2.1 SSE(误差平方和)

在这里插入图片描述

2.2 MSE(均方差)

在这里插入图片描述

2.3 RMSE(均方根、标准差)

在这里插入图片描述

2.4 MAE(平均绝对误差)

在这里插入图片描述

2.5 R-Squared(确定系数)

以上描述的都是评价标准的第一个角度,即:是否预测到了正确的数值。
对于回归类算法而言,只探索数据预测是否准确是不足够的。除了数据本身的数值大小之外,我们还希望我们的模型能够捕捉到数据的”规律“,比如数据的分布规律,单调性等等,而是否捕获了这些信息并无法使用MSE来衡量。比如,对数据进行回归,前端大部分预测的效果很好,但是后面部分的预测结果并不好,这样使用第一种角度考虑预测的结果,其实效果还很好,但是拟合的函数并没有准确的学习到数据的分布和走势。

故使用R2:确定系数,来从第二种角度来预测结果进行评价

在这里插入图片描述

其实“确定系数”是通过数据的变化来表征一个拟合的好坏。由上面的表达式可以知道“确定系数”的正常取值范围为[0 1],越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好。

三、模型评估方法—交叉验证

​ 交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set)。首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。
  
交叉验证分为下面三种:

第一种是简单交叉验证,所谓的简单,是和其他交叉验证方法相对而言的。首先,我们随机的将样本数据分为两部分(比如: 70%的训练集,30%的测试集),然后用训练集来训练模型,在测试集上验证模型及参数。接着,我们再把样本打乱,重新选择训练集和测试集,继续训练数据和检验模型。最后我们选择损失函数评估最优的模型和参数。

第二种是S折交叉验证(S-Folder Cross Validation)。和第一种方法不同,S折交叉验证会把样本数据随机的分成S份,每次随机的选择S-1份作为训练集,剩下的1份做测试集。当这一轮完成后,重新随机选择S-1份来训练数据。若干轮(小于S)之后,选择损失函数评估最优的模型和参数。

第三种是留一交叉验证(Leave-one-out Cross Validation),它是第二种情况的特例,此时S等于样本数N,这样对于N个样本,每次选择N-1个样本来训练数据,留一个样本来验证模型预测的好坏。此方法主要用于样本量非常少的情况,比如对于普通适中问题,N小于50时,可以采用留一交叉验证。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

E4--光纤接口通信测试应用2023-04-17

1.场景 使用两块开发板A和B&#xff0c;通过光纤接口将在A板上ROM中存储的图片数据转发到B板并显示在B板连接的显示屏上&#xff0c;实现光纤接口通信。 具体场景是&#xff0c;由于A735T片上资源有限&#xff0c;因此ROM IP存储了一张1024*600&#xff08;LVDS屏幕&#xff0…

【Linux】调试器---gdb的使用

文章目录一.背景知识二.安装gdb三.gdb的用法使用须知gdb的常用指令1.进入调试2.退出调试操作3.显示源代码4.设置断点breakPoint5.查看断点信息/禁用断点/开启断点/删除断点6.运行程序&#xff0c;开始调试run7.查看变量8.其它重要命令一.背景知识 程序的发布方式有两种&#x…

【并发】Volatile作用详解

volatile保证变量的可见性禁止指令重排不保证原子性如何保证原子性volatile volatile关键字可以保证变量的可见性。 被volatile修饰的变量是共享的&#xff0c;因此不会将该变量上的操作与其他内存操作一起重排序。 无法保证原子性 保证变量的可见性 当多个线程访问同一个…

217页企业大数据能力平台建设技术方案(word可编辑)

1.1.1.1 建设方案架构 数据治理平台覆盖了从标准、设计、采集、开发到使用&#xff0c;再到交付的全数据治理流程&#xff0c;为组织提供了一站式数据治理运营平台&#xff0c;可满足数据共享交换、数据开发、数据运营多种应用场景&#xff0c;并通过构建数据工厂&#xff0c;实…

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域数据分析能力与项目科研水平

目录 专题一、空间数据获取与制图 专题二、ArcGIS专题地图制作 专题三、空间数据采集与处理 专题四、遥感数据处理与应用 专题五、DEM数据处理与应用 专题六、采样数据处理与应用 专题七、土地利用处理与应用 专题八、土地利用景观格局分析 专题九、土壤数据处理与应用…

【音视频第12天】GCC论文阅读(3)

A Google Congestion Control Algorithm for Real-Time Communication draft-alvestrand-rmcat-congestion-03论文理解 看中文的GCC算法一脸懵。看一看英文版的&#xff0c;找一找感觉。 目录Abstract1. Introduction1.1 Mathematical notation conventions2. System model2.1 …

代码随想录第17天 | 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

654.最大二叉树 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null : right)* }*/ /*** param {numbe…

2.docker-本地镜像发布

1.发布到阿里云 前往 容器镜像服务 (aliyun.com) 进入容器镜像服务 1.创建命名空间 2.创建镜像仓库 3.进入仓库管理页面获得脚本 # 需要输入密码,终端输出 Login Succeeded 则为登录成功 docker login --username用户名 registry.cn-hangzhou.aliyuncs.com# 标记 docker tag …

TCP 协议的相关特性

TCP 协议的相关特性&#x1f50e;TCP协议的特点&#x1f50e;TCP协议段格式&#x1f50e;TCP协议的相关特性确认应答(ACK)超时重传三次握手四次挥手三次挥手与四次握手的注意事项&#x1f50e;结尾TCP(Transmission Control Protocol) 传输控制协议 &#x1f50e;TCP协议的特点…

Hbase伪分布安装配置

Hbase安装配置 文章目录Hbase安装配置Hbase安装前提下载Hbase压缩包软件版本兼容性Hadoop和HbaseHbase和JDK软件安装软件位置创建数据保存和日志保存文件夹修改配置文件修改hbase-site.xml文件修改hbase-env.sh文件修改~/.bashrc文件启动hbase并验证权限问题Permission denied修…

外源6-BA在缓解多花黄精种子出苗过程中的代谢及转录组学变化

文章标题&#xff1a;Transcriptomics and metabolomics changes triggered by exogenous 6-benzylaminopurine in relieving epicotyl dormancy of Polygonatum cyrtonema Hua seeds 发表期刊&#xff1a;Frontiers in Plant Science 影响因子&#xff1a;6.627 作者单位&a…

电镀废水中的三价铬去除效率

电镀废水中铬的主要存在形式为六价铬&#xff08;绝大多数&#xff09;和三价铬&#xff0c;二者在一定条件下可互相转换&#xff0c;且二者都可能具有致癌左右&#xff0c;有所区别的是六价铬的毒性大约是三价铬毒性的100倍。 目前电镀废水中对铬的处理工艺一般为先将毒性较大…

KD2684S绕组匝间故障检测仪

一、产品简介 KD2684S匝间冲击耐压试验仪适用于电机、变压器、电器线圈等这些由漆包线绕制的产品。因漆包线的绝缘涂敷层本身存在着质量问题&#xff0c;以及在绕线、嵌线、刮线、接头端部整形、绝缘浸漆、装配等工序工艺中不慎而引起绝缘层的损伤等&#xff0c;都会造成线圈层…

【高危】Apache Linkis <1.3.2 存在反序列化漏洞(CVE-2023-29216)

漏洞描述 Apache Linkis 是一个用于将上层应用与底层数据引擎解耦&#xff0c;提供标准化接口的中间件。 该项目受影响版本存在存在反序列化漏洞&#xff0c;由于SqlConnection.java中未对host、port、username,、password等参数进行充分过滤&#xff0c;当恶意用户完全控制应…

SpringSecurity之权限模块设计

目录 前言 实现思路 代码结构 使用说明 前言 前面我们了解了关于微服务权限设计方案以及J W T的相关介绍&#xff0c;今天我们来聊一下&#xff0c;如何避免自己重复的写相同的代码&#xff0c;一次代码实现&#xff0c;即可完美复制到任何项目中实现权限相关的功能。 实现…

进阶方案:仅主机+NAT实现真机与虚拟机实现真正的互联互通

序 昨天写了NAT模式下使用端口转发实现真机可以访问到虚拟机的方案&#xff0c;但是我觉得应该还可以更简单&#xff0c;不需要使用端口转发&#xff0c;然后今天花了一上午的时间终于解决了这个问题&#xff0c;总结一下 仅主机模式 仅主机模式可以让真机跟虚拟机之间形成一…

【数据结构】算法的时间复杂度和空间复杂度 (上)(附leetcode练习题)

☃️个人主页&#xff1a;fighting小泽 &#x1f338;作者简介&#xff1a;目前正在学习C语言和数据结构 &#x1f33c;博客专栏&#xff1a;数据结构 &#x1f3f5;️欢迎关注&#xff1a;评论&#x1f44a;&#x1f3fb;点赞&#x1f44d;&#x1f3fb;留言&#x1f4aa;&…

智慧园区系统未来发展前景及应用趋势分析

完善的系统功能&#xff0c;强大的技术支持&#xff0c;使得智慧园区的应用趋势更加多元化&#xff0c;下面我们一起来了解一下智慧园区系统未来发展前景及应用趋势。 1、人工智能。人工智能技术是智慧园区未来发展的重要方向。人工智能可以帮助园区更好地解决实际问题&…

Docker笔记1 | Docker学习和简介

1 | Docker学习和简介1 学习来源2 官方学习资源3 Docker简介3.1 Docker是什么&#xff1f;3.2 Docker应用场景3.3 Docker架构3.3 Docker的优势3.3 与传统虚拟机的区别1 学习来源 本系列笔记学习主要参考书籍《Docker-从入门到实践》以及结合官网的教程&#xff0c;仅作为个人学…

电脑开机后进不了系统怎么办?

案例&#xff1a;我的电脑开机之后&#xff0c;进入不了系统怎么办&#xff1f; 【今天我打开电脑时&#xff0c;发现进入不了系统&#xff0c;以前从来没有出现过这种情况。有没有小伙伴有解决的办法&#xff1f;在线等&#xff0c;急&#xff01;】 电脑开机后无法进入系统…