机器学习时候必须要分为训练集、验证集和测试集嘛

在机器学习中,为了准确评估模型的性能和找到最佳的超参数配置,通常将数据集划分为训练集、验证集和测试集。在这种情况下,验证集用于调参和模型选择,而测试集则用于最终的模型评估。

具体流程如下:

  1. 划分数据集:将数据集划分为训练集、验证集和测试集。一般三者比例是0.8:0.1:0.1或者0.6:0.2:0.2。

  2. 训练模型:使用训练集训练模型,并根据验证集上的性能指标进行调参和模型选择。例如,可以尝试不同的超参数组合,选择在验证集上性能最好的模型。

  3. 模型评估:在完成调参和模型选择后,使用测试集对最终选定的模型进行评估。测试集提供了一个客观的度量,用于衡量模型在未见过的数据上的泛化能力。

通过将测试集与验证集分开,可以避免在模型选择过程中过度拟合验证集,并获得更准确的模型性能估计。这样可以确保对模型的评估是基于未直接与模型相关联的数据进行的。

重要的是要注意,在整个调参和模型选择的过程中,测试集应该被严格保留,不参与任何形式的调优和选择。这样可以确保测试集的独立性,并对最终的模型性能提供一个真实的估计。

模板代码:

将数据集划分为训练集、验证集和测试集,比例是0.8:0.1:0.1。

复制代码
from sklearn.model_selection import train_test_split

#0.8:0.1:0.1 划分为训练集、验证集和测试集
# 将数据分为训练集和剩余数据(包括验证集和测试集)
X_train, X_remaining, y_train, y_remaining = train_test_split(X, y, test_size=0.2, random_state=0)
# 将剩余数据分为验证集和测试集
X_val, X_test, y_val, y_test = train_test_split(X_remaining, y_remaining, test_size=0.5, random_state=0)
相关推荐
qq_4523962316 分钟前
【模型手术室】第四篇:全流程实战 —— 使用 LLaMA-Factory 开启你的第一个微调任务
人工智能·python·ai·llama
another heaven29 分钟前
【深度学习 超参调优】lr0与lrf 的关系
人工智能·深度学习
放下华子我只抽RuiKe530 分钟前
深度学习全景指南:硬核实战版
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理·数据挖掘
天空之城_tsf1 小时前
通用多模态检索——大模型微调
人工智能·深度学习·计算机视觉
财迅通Ai1 小时前
天立国际携手电子科技大学对话凯文・凯利,共探科技与教育未来
人工智能·科技·天立国际控股
zhojiew1 小时前
在RAG系统中对FAISS,HNSW,BM25向量检索引擎选型的问题
人工智能·机器学习·faiss
深藏功yu名1 小时前
Day24:向量数据库 Chroma_FAISS 入门
数据库·人工智能·python·ai·agent·faiss·chroma
OpenBayes贝式计算1 小时前
教程上新|低门槛部署英伟达最新 Physical AI 模型,覆盖人形机器人/人体运动生成/扩散模型微调等
人工智能·深度学习·机器学习
3DVisionary2 小时前
突破3C质检产能瓶颈:XTOM蓝光扫描仪配合自动化转台实现精密件批量检测
运维·人工智能·自动化·xtom扫描仪·自动化检测·消费电子质检·良率控制
子木HAPPY阳VIP2 小时前
Ubuntu 22.04 VMware 设置固定IP配置
人工智能·后端·目标检测·机器学习·目标跟踪