深度学习--训练集验证集测试集合理划分比例

众所周知,在机器学习深度学习领域,合理划分训练集验证集和测试集是很重要的,本文主要介绍如何划分。

过去,人们运用机器学习传统方法的时候,一般将训练集和测试集划为7:3.

若有验证集,则划为6:2:2. 这样划分确实很科学,当数据量不大的时候(万级别及以下)。


但到了大数据时代,数据量陡增为百万级别,此时我们不需要那么多的验证集和训练集。

假设有100W条数据,只需要拿出1W条来当验证集,1W条来当测试集,就能很好地work了。

因此,在深度学习中若是数据很大,我们可以将训练集、验证集、测试集比例调整为98:1:1



### 深度学习中的数据划分深度学习项目中,合理数据划分至关重要。这不仅影响模型的学习效果,也决定了其泛化能力。 #### 数据集的作用 - **训练集 (Training Set)** 是用于训练模型的部分,在这一阶段,算法通过调整参数来最小化损失函数[^1]。 - **验证集 (Validation Set)** 主要用来调节超参数以及防止过拟合现象的发生。它帮助开发者监控模型性能,并据此做出必要的改进措施[^2]。 - **测试集 (Test Set)** 的目的是提供一个独立的评估环境,以衡量最终模型的真实表现。这部分数据在整个开发周期内保持未被触及的状态直到最后一步才使用[^3]。 #### 常见的划分比例 针对不同规模的数据集,存在多种推荐的比例方案: - 对于传统机器学习任务(大约一万条记录级别),建议采用如下几种方式之一: - 训练集测试集按7:3或8:2分割; - 更加精细的做法则是采取6:2:2作为训练/验证/测试三者的比率。 - 当面对较小尺寸的数据集合时(几千至数万之间),则倾向于遵循60%训练、20%验证及剩余20%留作测试的原则。 - 大型数据集中,一种流行的选择是以8:1:1的方式来进行分配,即大部分资源投入到了训练过程之中,而少量保留给验证测试用途。 ```python from sklearn.model_selection import train_test_split # Example of splitting dataset into training, validation and test sets with a ratio of 8:1:1 train_data, temp_data = train_test_split(dataset, test_size=0.2, random_state=42) validation_data, test_data = train_test_split(temp_data, test_size=0.5, random_state=42) print(f"Train size: {len(train_data)}, Validation size: {len(validation_data)}, Test size: {len(test_data)}") ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哎呦不错的温jay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值