模型评估中测试集的选择方法

模型评估中,测试集的选择至关重要。留出法通过划分训练集和测试集进行评估,但单次结果不稳定,需多次重复以取平均值。交叉验证法通过K折策略提高评估稳定性,常用K值为10。留一法则在每个样本单独作为测试集时进行评估,虽准确但计算成本高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 前言

对训练好的模型进行评估,目的是为了测试我们所训练的模型是否拥有好的泛化能力。为此,需使用一个“测试集”来测试学习器对新样本的判别能力,然后以测试集上的“测试误差”作为泛化误差的近似。通常我们假设测试样本也是从样本真实分布中独立同分布采样而得。但需注意的是,测试集应该尽可能与训练集互斥,即测试样本尽量不在训练集中出现,未在训练过程中使用过。因此本文介绍如何从数据集中选择测试集的方法。

以下为实验过程中总结的方法。

  • 留出法

“留出法”直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T。S与T互斥。在S上训练出模型后,用T来评估其测试误差,作为对泛化误差的估计。

以二分类任务为例,假设D包含1000哥样本,将其划分为S包含700个样本,T包含300个样本,用S进行训练后,如果模型在T上有90个样本分类错误,那么其错误率为(90/300)*100%=30%,相应的,精确度为1-30%=70%

需注意的是, 训练/测试机的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响,例如在分类任务中,至少要保持样本的类别比例相似。如果从采样的角度来看待数据集的划分过程,则保留类别比例的采样方式通常称为“分层采样”。例如通过对D进行分层采样而获得含70%样本的训练集S和30%的测试集T,若D包含500个正例,500个反例,则分层采样得到的S应包含350个正例,350个反例,而T则包含150个正例,和150个反例;若S,T中样本类别比例差别很大,则误差估计将由于训练/测试数据分布的差异而产生偏差

于此同时,即便在给定训练/测试集的样本比例后,但存在多种划分方式对初始数据集D进行分割,例如在上面的例子中,可以把D中的样本排序,然后把前350个正例放到训练集中,也可以把最后350个正例放到训练集中。这些不同的划分将导致不同的训练/测试集,相应的,模型的评估结果也会有差别。因此,单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分,重复进行实验评估

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值