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

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

具体流程如下:

  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)
相关推荐
charley.layabox3 小时前
8月1日ChinaJoy酒会 | 游戏出海高端私享局 | 平台 × 发行 × 投资 × 研发精英畅饮畅聊
人工智能·游戏
DFRobot智位机器人4 小时前
AIOT开发选型:行空板 K10 与 M10 适用场景与选型深度解析
人工智能
想成为风筝6 小时前
从零开始学习深度学习—水果分类之PyQt5App
人工智能·深度学习·计算机视觉·pyqt
F_D_Z6 小时前
MMaDA:多模态大型扩散语言模型
人工智能·语言模型·自然语言处理
大知闲闲哟6 小时前
深度学习G2周:人脸图像生成(DCGAN)
人工智能·深度学习
飞哥数智坊7 小时前
Coze实战第15讲:钱都去哪儿了?Coze+飞书搭建自动记账系统
人工智能·coze
wenzhangli77 小时前
低代码引擎核心技术:OneCode常用动作事件速查手册及注解驱动开发详解
人工智能·低代码·云原生
潘达斯奈基~8 小时前
大模型的Temperature、Top-P、Top-K、Greedy Search、Beem Search
人工智能·aigc
倔强青铜三8 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三8 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试