当前位置: 首页 > news >正文

【机器学习西瓜书学习笔记——模型评估与选择】

机器学习西瓜书学习笔记【第二章】

  • 第二章 模型评估与选择
    • 2.1训练误差和测试误差
        • 错误率
        • 误差
    • 欠拟合和过拟合
    • 2.2评估方法
        • 留出法
        • 交叉验证法
        • 自助法
    • 2.3性能度量
      • 查准率、查全率与F1
        • 查准率
        • 查全率
        • F1
      • P-R曲线
      • ROC与AUC
        • ROC
        • AUC
      • 代价敏感错误率与代价曲线
        • 代价曲线
    • 2.4比较检验
      • 假设检验(二项检验)

第二章 模型评估与选择

2.1训练误差和测试误差

错误率

在分类任务中,通常把错分的样本数占样本总数的比例称为错误率。比如:m个样本有a个预测错了,错误率就是 E = a/m;与错误率相对的 1 - a/m 称为精度。

误差

我们通常会把学习器的实际预测输出与样本的真实输出之间的差异称为误差。学习器在训练集上的误差称为训练误差或者经验误差。而在新样本上的误差则称为泛化误差或者测试误差。

训练误差

img

泛化误差(测试误差)

img

img

欠拟合和过拟合

欠拟合:模型对训练数据的拟合程度不足或不够好的情况。
过拟合:模型过度学习了训练数据中的噪声和细节,导致对训练样本的拟合过于精确。

2.2评估方法

留出法

①直接将数据集D划分为两个互斥的集合。

②注意训练集和测试集同分布

③进行多次随机划分,训练出多个模型,最后取平均值

交叉验证法

①原始数据分为K份,K-1份作为训练集,甚于的作为测试集。

②K-1部分训练模型,对所有的测试结果取平均值。

自助法

①从原始数据集中随机选择n个样本构成一个新的数据集。
②使用新的数据集训练模型。
③使用原始数据集测试模型,计算模型的各项性能指标,再对每个性能指标取平均值和标准偏差。

2.3性能度量

查准率、查全率与F1

查准率

①预测结果中真正例(TP)占所有预测结果中正例(TP+FP)的比例。

②公式:Precision = TP / (TP + FP)

③查准率越高,说明模型预测结果中真正例的比例越高,模型对于正样本的识别能力越强。

查全率

①预测结果中真正例(TP)占所有实际正例(TP+FN)的比例。

②公式为:Recall = TP / (TP + FN)。

③查全率越高,说明模型能够成功预测出的正样本比例越高,模型的识别能力越全面。

F1

①查准率和查全率的调和均值,用于综合评价模型的性能。

②公式为:F1 = 2 * (Precision * Recall) / (Precision + Recall)。

③F1值越高,说明模型在准确性和可靠性方面的表现都较好。

img

P-R曲线

查准率和查全率是一对矛盾的度量.一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。

img

以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称**“P-R曲线”**,显示该曲线的图称为“P-R图”.

ROC与AUC

ROC曲线和AUC常被用来评价一个二值分类器的优劣。

ROC

它通过将真正例率假正例率作为横纵坐标来描绘分类器在不同阈值下的性能。

img

AUC

进行学习器的比较时,与P-R 图相似。

若一个学习器的 ROC 曲线被另个学习器的曲线完全“包住”,则可断言后者的性能优于前者; 若两个学习器的 ROC 曲线发生交叉,则难以一般性地断言两者孰优敦劣。此时如果一定要进行比较.则较为合理的判据是比较 ROC 曲线下的面积即AUC。

img

代价敏感错误率与代价曲线

代价曲线

目的:对于一个模型,根据p不同,找到使得代价总期望最小的模型的阈值。

横轴:归一化的整改率代价期望。

纵轴:归一化的总代价期望。

img

2.4比较检验

评估学习性能的因素:泛化能力、测试集的选择、算法的随机性。

假设检验(二项检验)

泛化错误率e,是指学习器在一般情况下,对一个样本分类出错的概率(实际无法得知它的准确值)
测试错误率e ′ ,即学习器在测试一个m大小的样本集时恰好有e ′ m 个样本被分错类了(一般情况下只能获得这个值)

假设检验的方法就是用e’估计e的值。

相关文章:

【机器学习西瓜书学习笔记——模型评估与选择】

机器学习西瓜书学习笔记【第二章】 第二章 模型评估与选择2.1训练误差和测试误差错误率误差 欠拟合和过拟合2.2评估方法留出法交叉验证法自助法 2.3性能度量查准率、查全率与F1查准率查全率F1 P-R曲线ROC与AUCROCAUC 代价敏感错误率与代价曲线代价曲线 2.4比较检验假设检验&…...

vue3+cesium创建地图

1.我这边使用的是cdn引入形式 比较简单的方式 不需要下载依赖 在项目文件的index.html引入 这样cesium就会挂载到window对象上面去了 <!-- 引入cesium-js文件 --><script src"https://cesium.com/downloads/cesiumjs/releases/1.111/Build/Cesium/Cesium.js"…...

Zookeeper客户端和服务端NIO网络通信源码剖析

文章目录 服务端的ServerCnxFactory到底是个什么东西?ServerCnxFactory 的作用ServerCnxFactory 的实现使用 ServerCnxFactory 的示例注意事项ServerCnxFactory是什么时候完成初始化的?初始化流程代码示例详细步骤1. 创建实例2. 配置3. 启动初始化时机总结服务端基于NIO的Ser…...

从DevOps到DevSecOps是怎样之中转变?

DevSecOps是DevOps实践的自然演进&#xff0c;其重点是将安全集成到软件开发和部署流程中。在DevOps和DevSecOps发展之前&#xff0c;企业通常在在软件部署前进行集中的安全测试&#xff0c;导致安全介入严重滞后&#xff0c;漏洞分风险无法及时修复&#xff0c;影响上线交付。…...

ORM与第三方数据库对接的探讨及不同版本数据库的影响

对象关系映射&#xff08;Object-Relational Mapping&#xff0c;ORM&#xff09;是一种将程序中的对象与数据库中的数据进行映射的技术&#xff0c;使开发者可以通过操作对象来间接操作数据库。然而&#xff0c;在实际应用中&#xff0c;ORM并不是总能完美地对接陌生的第三方数…...

Windows远程桌面无法拷贝文件问题

场景说明 Winwdows远程桌面&#xff0c;相比Linux方便一点就是&#xff0c;同是windows连接&#xff0c;其中复制粘贴功能&#xff0c;可以在两个windows无缝切换。 但最近笔者远程一台测试windows服务器时&#xff0c;发现无法在服务器上复制内容到本地&#xff0c;也无法从…...

优化数据处理效率,解读 EasyMR 大数据组件升级

EasyMR 作为袋鼠云基于云原生技术和 Hadoop、Hive、Spark、Flink、Hbase、Presto 等开源大数据组件构建的弹性计算引擎。此前&#xff0c;我们已就其展开了多方位、多角度的详尽介绍。而此次&#xff0c;我们成功接入了大数据组件的升级和回滚功能&#xff0c;能够借助 EasyMR …...

并发编程AtomicInteger详解

AtomicInteger 是 Java 并发包 (java.util.concurrent.atomic) 中的一个原子变量类&#xff0c;用于对 int 类型的变量进行原子操作。它利用底层的 CAS&#xff08;Compare-And-Swap&#xff09;机制&#xff0c;实现了无锁的线程安全。AtomicInteger 常用于需要高效、线程安全…...

ctfshow 权限维持 web670--web679

web670 <?php// 题目说明&#xff1a; // 想办法维持权限&#xff0c;确定无误后提交check&#xff0c;通过check后&#xff0c;才会生成flag&#xff0c;此前flag不存在error_reporting(0); highlight_file(__FILE__);$a$_GET[action];switch($a){case cmd:eval($_POST[c…...

职场生存指南

求职篇 面试潜台词分析 (1)介绍: “请做一下自我介绍?” ❌:慢吞吞的介绍:叫什么,来自学校,专业,工作了那几家公司。 问题目的:个人优势+岗位匹配度+个人身上技能标签 (2)反问: “你还有什么想问的吗?” 问题目的:对工作的好奇心+个人积极性<——岗位…...

Spring源码(八)--Spring实例化的策略

Spring实例化的策略有几种 &#xff0c;可以看一下 InstantiationStrategy 相关的类。 UML 结构图 InstantiationStrategy的实现类有 SimpleInstantiationStrategy。 CglibSubclassingInstantiationStrategy 又继承了SimpleInstantiationStrategy。 InstantiationStrategy I…...

部署KVM虚拟化平台

文章目录 KVM虚拟化架构KVM组成KVM虚拟化三种模式 KVM虚拟化架构 KVM模块直接整合在Linux内核中 KVM组成 e KVM Driver虚拟机创建虚拟机内存分配虚拟CPU寄存器读写虚拟CPU运行 QEMU(快速仿真器) 模拟PC硬件的用户控件组件提供I/O设备模型及访问外设的途径 KVM虚拟化三种模式 客…...

Java对象模型深度剖析:从POJO到ENTITY

引言 在Java企业级应用开发中&#xff0c;对象模型是构建软件架构的核心。它们不仅帮助我们组织代码&#xff0c;还提升了代码的可读性和可维护性。本文将深入介绍Java中的几种关键对象模型&#xff1a;POJO、DTO、DAO、PO、BO、VO、QO和ENTITY&#xff0c;以及DO&#xff0c;…...

Nginx日志分析:编写Shell脚本进行全面日志统计

Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;也是一个IMAP/POP3/SMTP代理服务器。无论是在大流量的网站还是小型的个人博客中&#xff0c;Nginx都得到了广泛应用。在实际生产环境中&#xff0c;对Nginx日志的分析有助于我们了解网站的访问情况&#xff0c;发现潜在问题…...

【Gin】深度解析:在Gin框架中优化应用程序流程的责任链设计模式(下)

【Gin】深度解析&#xff1a;在Gin框架中优化应用程序流程的责任链设计模式(下) 大家好 我是寸铁&#x1f44a; 【Gin】深度解析&#xff1a;在Gin框架中优化应用程序流程的责任链设计模式(下)✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 本次文章分为上下两部分&#xf…...

C语言——运算符及表达式

C语言——运算符及表达式 运算符运算符的分类&#xff08;自增运算符&#xff09;、--&#xff08;自减运算符&#xff09;赋值运算符逗号运算符&#xff08;顺序求值运算符&#xff09; 表达式 运算符 运算符的分类 C语言的运算符范围很宽&#xff0c;除了控制语句和输入输出…...

Python面试宝典第23题:分发糖果

题目 n 个孩子站成一排&#xff0c;给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求&#xff0c;给这些孩子分发糖果。 &#xff08;1&#xff09;每个孩子至少分配到 1 个糖果。 &#xff08;2&#xff09;相邻两个孩子评分更高的孩子会获得更多的糖果。 请…...

Java与模式及其应用场景知识点分享(电子版)

前言 Java 编程语言自1995年问世以来&#xff0c;其成功好像任何编程语言都无法媲美。生逢其时(互联网的兴起)固然是一方面的原因&#xff0c;而Java吸收总结了前人的经验教训&#xff0c;反映了最新技术(the state ofthe art)&#xff0c;对其受到欢迎和采用&#xff0c;恐怕…...

软考高级第四版备考--第36天(审计内容)

IT内部控制审计&#xff1a;IT内部控制审计主要包括组织层面IT控制审计、IT一般控制审计及应用控制审计 IT专项审计&#xff1a;IT专项审计主要包括信息系统生命周期审计、信息系统开发过程审计、信息系统运行维护审计、网络与信息安全审计、信息系统项目审计、数据审计...

文件IO相关作业

1> 使用文件IO完成&#xff0c;将源文件中的所有内容进行加密&#xff08;大写转小写、小写转大写&#xff09;后写入目标文件中 源文件内容不变 #include<myhead.h>int main(int argc, const char *argv[]) {//判断传入的是否是两个文件if(argc!3){write(2,"inp…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

rm视觉学习1-自瞄部分

首先先感谢中南大学的开源&#xff0c;提供了很全面的思路&#xff0c;减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接&#xff1a;https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架&#xff1a; 代码框架结构&#xff1a;readme有…...

PydanticAI快速入门示例

参考链接&#xff1a;https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...