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

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

具体流程如下:

  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)
相关推荐
计算机魔术师1 小时前
Karpathy:用语音与LLM长谈可提升理解效率
人工智能·ai编程
DFT计算杂谈1 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
甲维斯2 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
周末程序猿2 小时前
图解 120 个大语言模型(LLM)核心概念(61-90)
人工智能
科技圈快迅2 小时前
游戏投影仪和普通投影仪区别是什么?2026游戏投影仪测评
人工智能
zhumin7262 小时前
舆情聚类与政府投诉联动分析:基于时间序列的社会治理框架
机器学习·数据挖掘·聚类
陆枫Larry2 小时前
CPU 和 GPU 的核心区别与适用场景
人工智能
Aa99883342 小时前
AI视觉检测设备厂家的技术选型框架——密封件和磁材的缺陷分类与光学成像原理
人工智能
吴佳浩2 小时前
今天我们讲讲大模型的“核心”技术:蒸馏(Model Distillation)
人工智能·llm·agent