交叉验证

交叉验证是一种评估模型性能的技术,尤其适用于数据集较小的情况。K-Fold交叉验证通过将数据集分成K份,轮流作为验证集进行训练,以提高模型的泛化能力。它能有效利用有限数据,避免过拟合,并为参数调优提供依据。当数据量不大,其他方法提升困难时,可考虑使用K-Fold。然而,对于大数据集,由于训练成本增加,可能不适用。
摘要由CSDN通过智能技术生成

交叉验证

一些概念

模型产生包括模型训练和模型验证。

模型验证&模型测试:模型验证时模型产生阶段的步骤。测试则是发生在原型产生阶段之后。

什么是交叉验证

首先交叉验证区别于参数调优。交叉验证是产生训练数据集和验证数据集的方法。

K折交叉验证,是交叉验证最常用的一种方法:

1)先将数据集划分成k个数据集。

2)对于每一种超参数, 依次使用其中的k-1个数据集来训练数据,并用保留的验证集来验证模型。

3)模型的总体表现取所有k次验证的平均值。

使用sklearn库进行交叉验证

为什么使用交叉验证

1、数据集太小,不能保留足够的数据进行验证

2、验证集可以看做在训练好的众多模型中人工选择一个在验证集上拟合最好的模型;因此,交叉验证更好的评估模型的预测性能、泛化性能。

3、可以从有限的数据中获取尽可能多的有效信息。

问题总结

1、为什么还要进行所有数据集重新训练,是否太浪费时间?

通过K-Fold 多次划分的形式进行训练是为了获取某个模型的性能指标,单一K-Fold训练的模型无法表示总体性能,但是我们可以通过K-Fold训练的训练记录下来较为优异的超参数,然后再以最优模型最优参数进行重新训练,将会取得更优结果。

2、何时使用K-Fold

我的看法,数据总量较小时,其他方法无法继续提升性能,可以尝试K-Fold。

我的看法,数据总量较小时,其他方法无法继续提升性能,可以尝试K-Fold。

其他情况就不太建议了,例如数据量很大,就没必要更多训练数据,同时训练成本也要扩大K倍(主要指的训练时间)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值