机器学习 | 模型性能评估

目录

现在我们已经对模型训练有了初步了解,下面我们接着聊评估:

一. 回归模型的性能评估

对于一个已经训练好的回归模型,我们需要知道模型训练的好坏程度,即需要对模型进行评估

这里给出几个评估指标:

1. 平均平方误差(MSE)

M S E = 1 m ∑ i = 1 m ( y i − y ^ i ) 2 ,又称为均方误差 MSE = \frac{1}{m} \sum_{i=1}^{m}(y_{i}-\hat{y}_{i} )^{2},又称为均方误差 MSE=m1i=1m(yiy^i)2,又称为均方误差

2. 平均绝对误差(MAE)

M A E = 1 m ∑ i = 1 m ∣ y i − y ^ i ∣ ,又称为绝对误差 MAE = \frac{1}{m} \sum_{i=1}^{m}\mid y_{i}-\hat{y}_{i}\mid,又称为绝对误差 MAE=m1i=1myiy^i,又称为绝对误差

3. R 2 R^{2} R2

回归模型默认的score评估指标

R 2 = 1 − R S S T S S = 1 − ∑ i = 1 m ( y i − y ^ i ) 2 ( y i − y ˉ ) 2 ,其中 y ˉ = 1 m ∑ i = 1 m y i R^{2}=1-\frac{RSS}{TSS} = 1-\frac{\sum_{i=1}^{m}(y_{i}-\hat{y}_{i} )^{2}}{(y_{i}-\bar{y} )^{2}},其中\bar{y} = \frac{1}{m}\sum_{i=1}^{m}y_{i} R2=1TSSRSS=1(yiyˉ)2i=1m(yiy^i)2,其中yˉ=m1i=1myi

其中 r 2 r^{2} r2的取值范围为(-∞,1]

	当值为1时,即 预测值 = 真值当值为0时,即 预测值 = 均值 (预测结果很差)当值小于0时,模型一定有问题,不如直接用均值

3.1 R 2 R^{2} R2优点

	给定指标范围,对于模型好坏的判断会更直观

二. 分类模型的性能评估

这里我们先引入混淆矩阵
在这里插入图片描述

	概念解释:混淆矩阵是在统计学中用来衡量分类模型性能的矩阵它以矩阵的形式展示了模型在测试数据集上的预测结果与实际结果之间的关系

这里补充什么是正例:工程中关注的为正例,取决于需求;比如,核酸的阳性,垃圾邮件等都可以为正例

1. 准确率(Accuracy)

A c c u r a c y = A + D A + B + C + D Accuracy=\frac{A+D}{A+B+C+D} Accuracy=A+B+C+DA+D

	检测正确的样本数/总样本数注意:一般不用这个指标原因:在正负样本数差距太大时,会失真比如:阴性样本990个,阳性样本10个模型检测到了所有得阴性样本,即990个模型此时准确率为99%

2. 召回率(Recall)

R e c a l l = A A + B Recall=\frac{A}{A+B} Recall=A+BA

	检测正确的正例样本数/总正例样本数

3. 精确率(Precision)

P r e c i s i o n = A A + C Precision=\frac{A}{A+C} Precision=A+CA

	检测正确的正例样本数/检测为正例的样本数

	召回率和精确率,谁更重要?看工作需求,以及后续操作对于这两个指标,再补充一种好理解得方式:召回率:是目标就揪出来精确率:目的地必须是目标例子:正常邮件必须放在A内,不能出现在垃圾邮件存放处垃圾邮件偶尔可以出现在A处垃圾邮件存放处只能存放垃圾邮件

4. F S c o r e F_{Score} FScore

精确率和召回率互相影响,理想状态下肯定追求两个都高
但是实际情况是两者相互“制约”:
追求精确率高,则召回率就低
追求召回率高,则通常会影响精确率

分类模型默认的score评估指标

F S c o r e = ( 1 + β 2 ) P r e c i s i o n ∗ R e c a l l β 2 P r e c i s i o n + R e c a l l F_{Score}=(1+\beta ^{2} ) \frac{Precision\ast Recall}{\beta ^{2}Precision+Recall} FScore=(1+β2)β2Precision+RecallPrecisionRecall

	 β=1:表示Precision与Recall一样重要F1可以看作是模型准确率和召回率的调和平均数,最大值是1,最小值是0注意:存在精确率和召回率都为1时β<1:表示Precision比Recall重要β>1:表示Recall比Precision重要

5. PR-曲线和AP值

	以召回率为横轴,精确率为纵轴,即画出PR-曲线PR曲线与X轴围成的图形面积,即AP值AP值为1时模型性能最好

在这里插入图片描述

	PR曲线由阈值控制比如:0.3以上全部判为阳性抓回的样本数量多,即召回率高抓回样本中有阴性样本,即精确率低即随着阈值的降低,召回率越高,精确率越低比如:AP值小,即面积较小时,说明:P值下降很快,阈值在0.7左右时有大量负样本

6. ROC曲线

当正负样本不平衡时,这种模型评价方式比起一般的精确度评价方式的好处尤其显著

	横坐标为false positive rate(FPR):FP/(FP+TN) 对应混淆矩阵中的C/C+D,这个值的描述的点是预测错误的点,即越小越好,为1最差纵坐标为true positive rate(TPR)TP/(TP+FN)对应混淆矩阵中的A/A+B,这个值的描述的点是预测正确的点,即越大越好ROC曲线:(0,1):即FPR为0,TPR为1;正样本全部检测到,负样本没有被误判(1,0):即FPR为1,TPR为0;最糟糕的分类器,误判所有样本但该分类器可以使用,因为分类很成功(0,0):即FPR为0,TPR为0;正样本全部未检测到,负样本没有被误判(1,1):分类器上预测所有的样本点都为1在随机测下方的ROC曲线,需要进行翻转阈值:可以通过控制阈值,来改变预测的标签;阈值越严格,正样本数量越少阈值由1向0滑动,TPR和FPR从0向1滑动当阈值取0时,对应图中的右上角点(全部预测为正例)当阈值取1时,对应图中的左下角点(全部预测为负例)

ROC曲线越接近(0,1),该分类器的性能越好

ROC曲线反映了FPR与TPR之间权衡的情况:

在TPR随着FPR递增的情况下,谁增长得更快,快多少的问题

	模型分类性能越好:TPR增长得越快,曲线越往上屈,AUC就越大其中,AUC为ROC曲线下的面积,取值范围是[0.5,1]

在这里插入图片描述


感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!

祝愉快🌟!


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

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

相关文章

大模型学习笔记五:RAG

文章目录 一、RAG介绍1)局限性2)通过检索增强生成二、RAG系统的基本搭建流程1)搭建流程简介2)文档的加载和切割3)检索引擎4)LLM接口封装5)prompt模板6)RAG Pipeline初探7)关键字检索局限性三、向量检索1)文本向量2)向量相似度计算3)向量数据库4)基于向量检索的RAG…

电源完整性设计的重要三步!

电源模块布局布线 电源模块是电子设备的能量来源&#xff0c;其性能与布局直接影响到整个系统的稳定性和效率。正确的布局和走线不仅能减少噪声干扰&#xff0c;还能确保电流的顺畅流通&#xff0c;从而提高整体性能。 1、电源模块布局 ● 源头处理&#xff1a;电源模块作为…

Java 面试题

Java 基础 以下代码执行结果&#xff1f; 示例1&#xff1a; public static void main(String[] args) {int a 0;Integer b 0;String c "0";String d new String("0");change(a, b, c, d);System.out.println(a "|" b "|" …

glibc

交叉编译器的glibc库位置&#xff1a; 用此交叉编译器编译的根文件系统对应的开发板上的GLIBC版本&#xff1a; 证明buildroot会使用交叉编译器自带的glibc库来对根文件系统进行编译。

如何在CentOS部署JumpServer堡垒机并实现无公网ip环境远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 4A 规范的专业运维安全审计系统。JumpS…

通义千问1.5(Qwen1.5)大语言模型在PAI-QuickStart的微调与部署实践

作者&#xff1a;汪诚愚&#xff08;熊兮&#xff09;、高一鸿&#xff08;子洪&#xff09;、黄俊&#xff08;临在&#xff09; Qwen1.5&#xff08;通义千问1.5&#xff09;是阿里云最近推出的开源大型语言模型系列。作为“通义千问”1.0系列的进阶版&#xff0c;该模型推出…

【鸿蒙 HarmonyOS 4.0】登录流程

一、背景 登录功能在应用中是一个常用模块&#xff0c;此次使用 HarmonyOS 实现登录流程&#xff0c;包含页面呈现与网络请求。 二、页面呈现 三、实现流程 3.1、创建项目 构建一个ArkTS应用项目(Stage模型)&#xff0c;今天创建流程可查看官网教程&#xff1a;文档中心 目…

llc半桥开关电源基础知识2(电路图简化)

llc半桥开关电源拓扑图如下 稳态:LLC电源已经正常工作,已经输出电压稳定稳态:LLC电源已经正常工作,已经输出电压稳定。 我们在分析拓扑结构的时候,都是基于他已经正常稳定输出的时候来分析的,毕竟LC电源只要以工作啊,绝大多数时间都是工作在稳态。 具体电路图化简分析如…

yolov9训练

目录 说明 1、下载代码安装新的python环境 2、准备数据 3、修改代码 说明 本文参考该博主的文章&#xff0c;在已经有数据的情况&#xff0c;进行简单总结。需要详细版见原文链接如下&#xff1a;YOLOV9保姆级教程-CSDN博客 1、下载代码安装新的python环境 代码下载&…

力扣每日一道系列 --- LeetCode 160. 相交链表

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构探索 ✅LeetCode每日一道 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 LeetCode 160. 相交链表 思路&#xff1a; 首先计算两个链表的长度&#xff0c;然后判断两个链…

如何选择程序员职业赛道

目录 前言1 个人技能分析1.1 技术栈评估1.2 经验积累1.3 数据科学能力 2 兴趣与价值观2.1 用户交互与界面设计2.2 复杂问题解决与系统优化 3 长期目标规划4 市场需求分析4.1 人工智能和云计算4.2 前沿技术趋势 5 就业前景5.1 前端在创意性公司中的应用5.2 后端在大型企业中的广…

前端爬虫+可视化Demo

爬虫简介 可以把互联网比做成一张 “大网”&#xff0c;爬虫就是在这张大网上不断爬取信息的程序。 爬虫是请求网站并提取数据的自动化程序。 省流&#xff1a;Demo实现前置知识&#xff1a; JS 基础Node 基础 &#xff08;1&#xff09;爬虫基本工作流程&#xff1a; 向…

『运维备忘录』之 RegEx 正则表达式实例汇总

运维人员不仅要熟悉操作系统、服务器、网络等知识&#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作&#xff0c;持续给大家更新运维工作所需要接触到的知识点&#xff0c;希望大…

深入理解Tomcat

目录&#xff1a; TomcatTomcat简介如何下载tomcatTomcat工作原理Tomcat架构图Tomcat组件Server组件Service组件Connector组件Engine组件Host组件Context组件 配置虚拟主机(Host)配置Context Tomcat Tomcat简介 Tomcat服务器是Apache的一个开源免费的Web容器。它实现了JavaEE…

【Android】源码解析 Activity 的构成

本文是基于 Android 14 的源码解析。 当我们写 Activity 时会调用 setContentView() 方法来加载布局。现在来看看 setContentView() 方法是怎么实现的&#xff0c;源码如下所示&#xff1a; 路径&#xff1a;/frameworks/base/core/java/android/app/Activity.javapublic void…

【机器学习】包裹式特征选择之递归特征添加法

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

Springboot解决模块化架构搭建打包错误找不到父工程

Springboot解决模块化架构搭建打包错误找不到父工程 一、情况一找不到父工程依赖1、解决办法 二、情况二子工程相互依赖提示"程序包xxx不存在" 一、情况一找不到父工程依赖 报错信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:…

windows安装pytorch(anaconda安装)

文章目录 前言一、安装anaconda1、进入官网下载&#xff08;1&#xff09;点击view all Installers&#xff08;2&#xff09;下载需要的版本 2、一顿默认安装就行&#xff08;到这一步这样填&#xff09;3、进入开始找到Anaconda Prompt&#xff0c;点击进入到base环境 二、新…

3-字典树-单词搜索 II

这是字典树的第3篇算法&#xff0c;力扣链接。 给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。 单词必须按照字母顺序&#xff0c;通过 相邻的单元格 内的字母构成&#xff0c;其中“相邻”单…

docker 常用命令大全(基础、镜像、容器、数据卷)

文章目录 1.docker基础命令2.docker镜像命令2.1 镜像名称2.2 镜像命令2.3 案例1--拉取、查看镜像2.4 案例2--保存、导入镜像 3.docker容器命令3.1 容器命令3.2 案例--创建并运行一个容器3.3 案例--进入容器&#xff0c;修改文件3.4 小结 4.数据卷4.1 什么是数据卷4.2 数据卷操作…