【机器学习西瓜书学习笔记——模型评估与选择】
机器学习西瓜书学习笔记【第二章】
- 第二章 模型评估与选择
- 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 称为精度。
误差
我们通常会把学习器的实际预测输出与样本的真实输出之间的差异称为误差。学习器在训练集上的误差称为训练误差或者经验误差。而在新样本上的误差则称为泛化误差或者测试误差。
训练误差

泛化误差(测试误差)


欠拟合和过拟合
欠拟合:模型对训练数据的拟合程度不足或不够好的情况。
过拟合:模型过度学习了训练数据中的噪声和细节,导致对训练样本的拟合过于精确。
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值越高,说明模型在准确性和可靠性方面的表现都较好。

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

以查准率为纵轴、查全率为横轴作图,就得到了查准率-查全率曲线,简称**“P-R曲线”**,显示该曲线的图称为“P-R图”.
ROC与AUC
ROC曲线和AUC常被用来评价一个二值分类器的优劣。
ROC
它通过将真正例率和假正例率作为横纵坐标来描绘分类器在不同阈值下的性能。

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

代价敏感错误率与代价曲线
代价曲线
目的:对于一个模型,根据p不同,找到使得代价总期望最小的模型的阈值。
横轴:归一化的整改率代价期望。
纵轴:归一化的总代价期望。

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实践的自然演进,其重点是将安全集成到软件开发和部署流程中。在DevOps和DevSecOps发展之前,企业通常在在软件部署前进行集中的安全测试,导致安全介入严重滞后,漏洞分风险无法及时修复,影响上线交付。…...
ORM与第三方数据库对接的探讨及不同版本数据库的影响
对象关系映射(Object-Relational Mapping,ORM)是一种将程序中的对象与数据库中的数据进行映射的技术,使开发者可以通过操作对象来间接操作数据库。然而,在实际应用中,ORM并不是总能完美地对接陌生的第三方数…...
Windows远程桌面无法拷贝文件问题
场景说明 Winwdows远程桌面,相比Linux方便一点就是,同是windows连接,其中复制粘贴功能,可以在两个windows无缝切换。 但最近笔者远程一台测试windows服务器时,发现无法在服务器上复制内容到本地,也无法从…...
优化数据处理效率,解读 EasyMR 大数据组件升级
EasyMR 作为袋鼠云基于云原生技术和 Hadoop、Hive、Spark、Flink、Hbase、Presto 等开源大数据组件构建的弹性计算引擎。此前,我们已就其展开了多方位、多角度的详尽介绍。而此次,我们成功接入了大数据组件的升级和回滚功能,能够借助 EasyMR …...
并发编程AtomicInteger详解
AtomicInteger 是 Java 并发包 (java.util.concurrent.atomic) 中的一个原子变量类,用于对 int 类型的变量进行原子操作。它利用底层的 CAS(Compare-And-Swap)机制,实现了无锁的线程安全。AtomicInteger 常用于需要高效、线程安全…...
ctfshow 权限维持 web670--web679
web670 <?php// 题目说明: // 想办法维持权限,确定无误后提交check,通过check后,才会生成flag,此前flag不存在error_reporting(0); highlight_file(__FILE__);$a$_GET[action];switch($a){case cmd:eval($_POST[c…...
职场生存指南
求职篇 面试潜台词分析 (1)介绍: “请做一下自我介绍?” ❌:慢吞吞的介绍:叫什么,来自学校,专业,工作了那几家公司。 问题目的:个人优势+岗位匹配度+个人身上技能标签 (2)反问: “你还有什么想问的吗?” 问题目的:对工作的好奇心+个人积极性<——岗位…...
Spring源码(八)--Spring实例化的策略
Spring实例化的策略有几种 ,可以看一下 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企业级应用开发中,对象模型是构建软件架构的核心。它们不仅帮助我们组织代码,还提升了代码的可读性和可维护性。本文将深入介绍Java中的几种关键对象模型:POJO、DTO、DAO、PO、BO、VO、QO和ENTITY,以及DO,…...
Nginx日志分析:编写Shell脚本进行全面日志统计
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。无论是在大流量的网站还是小型的个人博客中,Nginx都得到了广泛应用。在实际生产环境中,对Nginx日志的分析有助于我们了解网站的访问情况,发现潜在问题…...
【Gin】深度解析:在Gin框架中优化应用程序流程的责任链设计模式(下)
【Gin】深度解析:在Gin框架中优化应用程序流程的责任链设计模式(下) 大家好 我是寸铁👊 【Gin】深度解析:在Gin框架中优化应用程序流程的责任链设计模式(下)✨ 喜欢的小伙伴可以点点关注 💝 前言 本次文章分为上下两部分…...
C语言——运算符及表达式
C语言——运算符及表达式 运算符运算符的分类(自增运算符)、--(自减运算符)赋值运算符逗号运算符(顺序求值运算符) 表达式 运算符 运算符的分类 C语言的运算符范围很宽,除了控制语句和输入输出…...
Python面试宝典第23题:分发糖果
题目 n 个孩子站成一排,给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果。 (1)每个孩子至少分配到 1 个糖果。 (2)相邻两个孩子评分更高的孩子会获得更多的糖果。 请…...
Java与模式及其应用场景知识点分享(电子版)
前言 Java 编程语言自1995年问世以来,其成功好像任何编程语言都无法媲美。生逢其时(互联网的兴起)固然是一方面的原因,而Java吸收总结了前人的经验教训,反映了最新技术(the state ofthe art),对其受到欢迎和采用,恐怕…...
软考高级第四版备考--第36天(审计内容)
IT内部控制审计:IT内部控制审计主要包括组织层面IT控制审计、IT一般控制审计及应用控制审计 IT专项审计:IT专项审计主要包括信息系统生命周期审计、信息系统开发过程审计、信息系统运行维护审计、网络与信息安全审计、信息系统项目审计、数据审计...
文件IO相关作业
1> 使用文件IO完成,将源文件中的所有内容进行加密(大写转小写、小写转大写)后写入目标文件中 源文件内容不变 #include<myhead.h>int main(int argc, const char *argv[]) {//判断传入的是否是两个文件if(argc!3){write(2,"inp…...
Armv8/v9架构系统寄存器解析:SCXTNUM与SMCR深度剖析
1. AArch64系统寄存器概述 在Armv8/v9架构中,系统寄存器是处理器状态和控制的核心枢纽。与通用寄存器不同,系统寄存器专门用于配置处理器功能、监控运行状态以及实现安全隔离。AArch64架构通过精心设计的寄存器命名规范,使得寄存器的功能和访…...
微软逐步淘汰 SMS 身份验证,通行密钥带来更强安全保障!
ZDNET 要点总结微软正在逐步淘汰将 SMS 作为身份验证方式,因为 SMS 消息未加密,易受黑客攻击。微软账户所有者将被提示设置通行密钥。通常登录或找回在线账户时会收到 SMS 验证短信,但这并非安全的身份验证方式,如今微软对使用微软…...
生产级机器学习模型服务:从Notebook到Kubernetes的工程实践
1. 项目概述:这不是“跑通模型”,而是让模型在真实世界里活下来“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句行话暗号,老手一眼就懂:前面三篇已经蹚过了数据清洗、特征工程、…...
webdriver_manager自动化管理ChromeDriver原理与CI/CD最佳实践
1. 为什么你还在手动下载ChromeDriver?——一个被低估的日常损耗“又双叒叕报错了:‘chromedriver executable needs to be in PATH’。”这句话我过去三年在团队 Slack 里至少见过 27 次,平均每周一次。不是新人,是写了五年 Pyth…...
快速导出微信聊天记录:WeChatExporter让你轻松备份珍贵对话
快速导出微信聊天记录:WeChatExporter让你轻松备份珍贵对话 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾担心手机丢失或更换设备时,那…...
Dism++:Windows系统维护的终极免费工具,一键解决卡顿和更新问题
Dism:Windows系统维护的终极免费工具,一键解决卡顿和更新问题 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是否曾为Windows系统运行…...
Windows热键侦探:一键揪出占用你快捷键的“元凶“
Windows热键侦探:一键揪出占用你快捷键的"元凶" 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是…...
SQLite Viewer:3分钟学会在线查看SQLite数据库的终极方案
SQLite Viewer:3分钟学会在线查看SQLite数据库的终极方案 【免费下载链接】sqlite-viewer View SQLite file online 项目地址: https://gitcode.com/gh_mirrors/sq/sqlite-viewer 想象一下,你收到一个SQLite数据库文件,需要立即查看其…...
苹果M1/M2芯片跑自监督学习:统一内存与Metal后端实战指南
1. 项目概述:为什么苹果自研芯片正在悄悄改写AI训练的底层逻辑最近三个月,我陆续在三台不同配置的Mac上跑通了SimCLR、BYOL和MoCo v3这三套主流自监督学习(SSL)模型的完整训练流程——不是跑个demo,而是用ImageNet-1K子…...
25款经典老芯片回顾:从运放、逻辑门到MCU,重温电子工程基石
1. 引言:一场跨越时代的芯片“认亲大会”最近在整理工作室的旧物料箱,翻出了一堆尘封已久的芯片,从布满灰尘的DIP封装到早已停产的早期逻辑门,每一片都像一张泛黄的老照片,记录着电子工业发展的一个脚印。我随手拍了几…...
