【大厂AI课学习笔记NO.60】(13)模型泛化性的评价

我们学习了过拟合和欠拟合,具体见我的文章:https://giszz.blog.csdn.net/article/details/136440338

那么今天,我们来学习模型泛化性的评价。

泛化性的问题,我们也讨论过了,那么如何评价模型的泛化性呢?

 

我们知道,过拟合(over-fitting),就是在训练数据上表现良好,在未知数据上表现差。

欠拟合(under-fitting),就是在训练数据和未知数据上表现都很差。

这里要记住!

过和欠都不好,训练结合略微低于测试结果是组好的。 

 

这个图特别有助于我们的理解。

延伸学习:


模型泛化性的评价方法主要包括留出验证、交叉验证、自助法等,下面详细阐述留出验证和交叉验证这两种常用的方法,以及它们的步骤和重要的工具,并给出具体的例子来说明。

一、留出验证

留出验证是将数据集划分为训练集、验证集和测试集三个部分。训练集用于训练模型,验证集用于调整模型参数和选择最佳模型,测试集用于评估模型的泛化性能。

步骤:

  1. 将数据集按比例划分为训练集、验证集和测试集,通常的比例是70%:15%:15%或60%:20%:20%等。
  2. 使用训练集训练模型,并使用验证集进行模型选择和参数调整。
  3. 选择在验证集上表现最好的模型,使用测试集评估其泛化性能。

工具:

Python中的scikit-learn库提供了留出验证的相关功能,如train_test_split函数可用于划分数据集。

例子:

假设我们有一个包含1000个样本的数据集,我们可以使用train_test_split函数将其划分为训练集、验证集和测试集。例如,将70%的数据作为训练集,剩余的30%再平均分为验证集和测试集。

from sklearn.model_selection import train_test_split  X, y = # 数据集的特征和标签  X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.3, random_state=42)  
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)

二、交叉验证

交叉验证是一种将数据集分成多份,每次使用其中的一份作为验证集,其余的作为训练集的验证方法。常见的交叉验证方法有k折交叉验证和留一交叉验证。

步骤(以k折交叉验证为例):

  1. 将数据集平均分成k份,每份称为一个折(fold)。
  2. 每次使用其中的一个折作为验证集,其余的k-1个折作为训练集。
  3. 重复k次,每次选择不同的折作为验证集,确保每个折都被用作验证集一次。
  4. 计算k次验证结果的平均值作为模型的性能评估指标。

工具:

Python中的scikit-learn库提供了交叉验证的相关功能,如KFoldcross_val_score等。

例子:

假设我们有一个包含100个样本的数据集,我们可以使用5折交叉验证来评估模型的性能。这意味着我们将数据集分成5份,每份包含20个样本。

from sklearn.model_selection import KFold, cross_val_score  
from sklearn.linear_model import LogisticRegression  X, y = # 数据集的特征和标签  
model = LogisticRegression()  # 以逻辑回归模型为例  kfold = KFold(n_splits=5, shuffle=True, random_state=42)  # 创建5折交叉验证对象  
scores = cross_val_score(model, X, y, cv=kfold)  # 使用交叉验证评估模型性能  print("交叉验证结果:", scores)  # 输出每次验证的结果  
print("平均性能:", scores.mean())  # 输出平均性能评估指标

需要注意的是,在实际应用中,我们通常会结合多种评估方法和工具来全面评估模型的泛化性能。此外,还需要注意数据集的划分比例、随机性等因素对评估结果的影响。

 

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

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

相关文章

激光SLAM技术助力富唯智能复合机器人的应用场景无限拓展

随着科技的不断进步,智能机器人已成为现代工业、服务、医疗等多个领域的重要角色。而在这一变革中,激光SLAM技术发挥着至关重要的作用。特别是对于富唯智能复合机器人来说,激光SLAM技术不仅提升了其智能化水平,更使其应用场景变得…

【促销定价】背后的算法技术3-数据挖掘分析

【促销定价】背后的算法技术3-数据挖掘分析 01 整体分析1)整体概览2)类别型特征概览3)数值型特征概览 02 聚合分析1)天维度2)品维度3)价格维度4)数量维度 03 相关分析1)1级品类2&…

无公网ip环境使用DS file软件远程访问内网群晖NAS中储存的文件

文章目录 1. 群晖安装Cpolar2. 创建TCP公网地址3. 远程访问群晖文件4. 固定TCP公网地址5. 固定TCP地址连接 DS file 是一个由群晖公司开发的文件管理应用程序,主要用于浏览、访问和管理存储在群晖NAS(网络附加存储)中的文件。这个应用程序具有…

echarts如何实现3D饼图(环形图)?

一、实现的效果 二、具体步骤 1.安装依赖 npm install echarts 2.引入echarts import * as echarts from echarts; 注意:这里需要用到echarts-gl,必须单独引入才可以 import echarts-gl; 3.echarts部分代码 我知道这部分内容很多,但只要cv…

羊大师揭秘羊奶与健康,美味的保健佳品

羊大师揭秘羊奶与健康,美味的保健佳品 羊奶确实是一种美味且健康的保健佳品,其独特的营养成分和风味使其成为许多人的健康选择。以下是一些羊奶与健康的关系: 营养丰富:羊奶含有丰富的蛋白质、脂肪、矿物质和维生素,…

ruoyi-nbcio-plus的Vue3前端升级组件后出现的问题(一)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址: http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbach…

大模型ChatGLM-6B实现本地部署

大模型ChatGLM-6B实现本地部署 一、写在前面:二、ChatGLM-6B下载:三、项目所需要的环境配置:四、项目运行:五、遇到的主要问题及解决 一、写在前面: 1、 确保你的电脑中已安装git,git lfs。 2、确保你的电…

浅析前端的堆栈原理以及深浅拷贝原理

浅析前端的堆栈原理以及深浅拷贝原理 首先来看一个案例 const obj {name:hzw,age:18 } let objName2 obj objName2.age 12 console.log(obj,objName2) // {name: hzw, age: 12} {name: hzw, age: 12}这里是不是很奇怪,为什么,为什么我改变objName2的…

AirPods Pro 2 耳机推送新固件,苹果Find My功能助力产品成长

苹果公司面向 AirPods Pro 2(包括 USB-C 和 Lightning 版本),推出了全新的测试版固件更新,版本号为 6E188,高于 12 月份发布的 6B34 固件。 苹果和往常一样,并没有提供详细的更新日志或者说明&#xff0c…

算法刷题day20:二分

目录 引言概念一、借教室二、分巧克力三、管道四、技能升级五、冶炼金属六、数的范围七、最佳牛围栏 引言 这几天一直在做二分的题,都是上了难度的题目,本来以为自己的二分水平已经非常熟悉了,没想到还是糊涂了一两天才重新想清楚&#xff0…

力扣区间题:合并区间、插入区间

我们可以将区间按照左端点升序排列,然后遍历区间进行合并操作。 我们先将第一个区间加入答案,然后依次考虑之后的每个区间: 如果答案数组中最后一个区间的右端点小于当前考虑区间的左端点,说明两个区间不会重合,因此…

Java基于springboot的课程作业管理系统

摘 要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,课程作业管理系统当然也不能排除在外。课程作业管理系统是以实际运用为开发背景,运用软件工程原理和开发方法…

Linux常见命令总结

1.创建文件夹 mkdir 目录名 mkdir 文件夹名 创建单个文件夹 mkdir 文件夹1 文件夹2 文件夹3 创建多个文件夹 mkdir -p parent/child 创建多级文件夹 2.创建文件 touch 文件名 touch的主要功能有两个,如果要创建的文件的名称存在,将文件的创建时间修改到当前的系统时间(也…

五种常用的可视化项目管理工具

传统的项目管理通常依赖于文本文档,容易造成误解和混乱。在快节奏的商业环境中,没有哪个项目经理愿意处理繁重的文档流程。 另一方面,可视化项目管理通常使用图表和视觉板来展示复杂的项目信息。因此,项目经理能快速了解关键信息…

基于 rk3566 的 uboot 分析 - dts 加载和 dm 模型的本质

文章目录 一、设备树加载使用1、概述2、第一阶段1) fdtdec_setup2) 总结 3、第二阶段1) kernle dtb 编译打包2) 加载流程2.1) board_init2.2) init_kernel_dtb2.3) rockchip_read_dtb_file2.4) rockchip_read_resource_dtb 3) 总结 二、dm 模型1、树的创建1) device_bind_commo…

使用Matlab计算IGRAv2探空站的Tm和PWV

1. 探空站IGRAv2数据 探空站的Tm常作为真值,去检验Tm线性公式或者ERA5 Tm等的精度 。 探空站PWV常作为真值,去检验GNSS PWV等的精度 2. Tm 的计算方法 Tm 的计算方法有两种在前面的文章有讲,这里用 使用水汽压和温度计算Tm。 ei和 Ti 表示…

本地如何配置支付宝模拟支付场景并结合内网穿透实现公网环境调试开发?

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 前言 在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境…

还在犹豫学不学?鸿蒙技术是否有前途的最强信号来了

2024年3月3日 上午10 点,深圳官方账号发布了一篇关于鸿蒙技术发展的重要文章,看到这篇文章后我非常激动,忍不住和大家分享一下! 华为鸿蒙系统自提出以来,网友们的态度各不相同,有嘲笑“安卓套壳”的&#…

2024 CHINASHOP丨悠络客AI应用亮点抢鲜看,还有价值百元门票免费送哦!

3月13日-15日,备受国内外关注的第二十四届中国零售业博览会(2024 CHINASHOP)将在上海国家会展中心正式开展!悠络客作为深耕智慧门店15年的公有云人工智能企业,也将带着全新AI产品和智慧门店解决方案亮相展会&#xff0…

Windows系统中ollama下载模型前设置下载路径

Windows系统中ollama下载模型前设置下载路径 一开始设置了用户环境变量 OLLAMA_MODELS,没有效果 添加系统环境变量后,ollama pull和run的模型都到了环境变量中的路径下; 设置完后可以在cmd中检查一下:echo %ollama_models% ollam…