【大厂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())  # 输出平均性能评估指标

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

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

中科数安|防止电脑文件资料外泄

#防止电脑文件资料泄漏# 中科数安提供了一系列解决方案来防止电脑文件资料外泄。 www.weaem.com 这些解决方案包括以下几个方面: 访问控制:实施严格的文件访问控制,确保只有授权的人员能够访问和编辑核心文件。使用身份验证和权限管理系统&a…

1255942-05-2,DBCO-C6-Amine,可以用于构建分子结构和生物活性分子

您好,欢迎来到新研之家 文章关键词:1255942-05-2,DBCO C6 NH2,DBCO-C6-Amine,二苯并环辛炔-C6-氨基 一、基本信息 【产品简介】:DBCO-C6-NH2 is a multifunctional molecule with excellent chemical re…

【C++精简版回顾】13.(重载1)运算符重载+,前置后置++

1.友元函数方式为类重载运算符 &#xff08;友元函数声明可以放在类任何地方&#xff09; 1.类 class MM { public:MM() {}MM(int grade,string name):grade(grade),name(name){}friend MM operator(MM object1, MM object2);void print() {cout << this->grade <…

基于springboot音乐翻唱与分享平台源码和论文

1.1研究背景 随着网络不断的普及发展&#xff0c;音乐网站与分享平台依靠网络技术的支持得到了快速的发展&#xff0c;首先要从用户的实际需求出发&#xff0c;通过了解用户的需求开发出具有针对性的首页、音乐资讯、音乐翻唱、在线听歌、留言反馈、个人中心、后台管理、客服功…

Spring 事务常见错误(下)

通过上一章的学习&#xff0c;我们了解了 Spring 事务的原理&#xff0c;并解决了几个常见的问题。这一章我们将继续讨论事务中的另外两个问题&#xff0c;一个是关于事务的传播机制&#xff0c;另一个是关于多数据源的切换问题通过这两个问题&#xff0c;你可以更加深入地了解…

CopyUtil对象复制工具类

介绍 CopyUtil是一个通用的对象复制工具类&#xff0c;其中包含单体复制和列表复制两个方法。 单体复制方法copy通过传入源对象和目标class&#xff0c;利用Java反射机制创建目标对象&#xff0c;并将源对象的属性值复制到目标对象中。若源对象为空&#xff0c;则返回null。若…

如何使用支付宝沙箱环境本地配置模拟支付并实现公网远程访问【内网穿透】

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

WordPress上传图片错误:不是合法的JSON响应

最近在进行WordPress迁移至新服务器的过程中&#xff0c;遭遇到一个棘手的问题&#xff0c;即在编辑文章并上传图片时&#xff0c;不断遭遇“此响应不是合法的JSON响应”的错误。经过多次验证和搜索&#xff0c;最终确定问题的根本原因并不在于禁用 Gutenberg 编辑器或安装经典…

maven配置文件(一)Settings配置

一、仓库 1、关系 我们依赖的外部服务是需要有地方进行存储的&#xff0c;而存储的地方就称之为仓库。其中仓库又分为本地仓库、中央仓库、镜像仓库、私服。 &#xff08;1&#xff09;本地仓库 当项目在本地编译或运行时&#xff0c;直接加载本地的依赖服务无疑是最快的。默…

微信如何设置自动回复消息,提升沟通效率的?

在日常微信聊天过程中&#xff0c;我们可能会频繁遇到相同问题的客户提问&#xff0c;特别是对于从事销售工作的朋友们而言&#xff0c;客户添加好友后的第一句话常常为“在吗”或“你好”。当我们拥有大量好友&#xff0c;手动逐一回复可能会耗费大量时间。因此&#xff0c;自…

甘特图资源视图和任务视图的区别

甘特图(Gantt chart)是一种常用的项目管理工具,用于直观地展示项目的进度和各项任务的时间安排。甘特图包含资源视图和任务视图两种视角。 一个项目的甘特图demo &#xff1a; https://zz-plan.com/share/87f1340286f1343ba5 资源视图主要显示项目中不同资源的分配和利用情况…

预处理大致解析(参见《C语言深度解剖》更好得到学习)

预处理大致解析&#xff08;参见《C语言深度解剖》更好得到学习&#xff09; 一、预定义符号二、#define三、其他预处理指令<font face "楷体" size 5 color blue>//库文件包含 //#include < filename.h > //直接在库文件所在的标志路径查找&#xff…

谷歌seo推广效果怎么判断?

要想判断谷歌SEO推广效果&#xff0c;核心在于观察和分析几个关键指标&#xff0c;一个网站最重要的自然就是流量&#xff0c;没有流量的网站说到底就是一个被雪藏的花架子&#xff0c;没什么意义&#xff0c;所以看流量自然就是最重要的指标&#xff0c;SEO做得好&#xff0c;…

阿里云服务器2核4G租用价格_2核4G支持人数新能测评

阿里云2核4G服务器多少钱一年&#xff1f;2核4G配置1个月多少钱&#xff1f;2核4G服务器30元3个月、轻量应用服务器2核4G4M带宽165元一年、企业用户2核4G5M带宽199元一年。可以在阿里云CLUB中心查看 aliyun.club 当前最新2核4G服务器精准报价、优惠券和活动信息。 阿里云官方2…

远程IT技术支持软件有哪些

什么是远程支持软件 远程支持软件允许 IT 部门和管理员通过内部网络或互联网从远程位置连接和控制设备&#xff0c;以解决技术问题并自动执行日常任务。企业使用远程支持软件来解决技术问题并增强安全性&#xff0c;而无需技术人员物理访问需要支持的设备。 远程支持解决方案…

PHP项目中composer和Git的组合使用

highlight: 在国内由于众所周知的原因&#xff0c;composer的package可能无法访问&#xff0c;解决办法是使用中国的全镜像&#xff1a; composer config -g repositories.packagist composer http://packagist.phpcomposer.com 在需要使用composer package的地方创建composer…

车载测试中:internal lock 的意思

internal lock的用法讲解 英语单词 \\"internal lock\\" 的用法讲解 \\"Internal lock\\" 是一个常见的词组&#xff0c;通常用于讨论机械、锁具和安全等方面的话题。下面将介绍这个词组的几种用法。 1. 机械锁中的 \\"internal lock\\" 在机…

YOLOv8 DeepSORT实现智能交通监控-改进yolo单目测距及速度测量-流量计数

YOLOv8 DeepSORT是一种基于目标检测和跟踪技术的智能交通监控系统。它基于YOLOv8&#xff0c;通过加入DeepSORT算法实现目标跟踪&#xff0c;同时还改进了YOLOv8的单目测距及速度测量技术和流量计数功能。 该系统可以通过摄像头或视频源实时捕获图像&#xff0c;并自动检测和跟…

python钉钉机器人加签

代码 import requests import json import time import hmac import hashlib import base64 import urllib.parsedef get_url(access_token, secret):t,s get_sign(secret)webhook_url fhttps://oapi.dingtalk.com/robot/send?access_token{access_token}&timestamp{t}…

TSMaster 2024 最新版本实用功能更新,收藏不迷路

TSMaster 作为一款软硬件解耦&#xff0c;快速迭代&#xff0c;并不断被软件定义的国产工业软件&#xff0c;保持每周一次的更新频率&#xff0c;已经渗透到全球汽车产业企业。在2024年初&#xff0c;进行了大规模的功能更新&#xff01;不仅对软件进行了全面优化&#xff0c;同…