(python基础)交叉验证

交叉验证是评估模型性能的重要手段,包括简单交叉验证、K折交叉验证和自助法。K折交叉验证通过将数据集分为K个子集,轮流作为验证集来获取更稳定的评估指标,常取K=10。StratifiedKFold则在分层采样中保持各类别比例。cross_val_score和cross_validate是 sklearn 中实现交叉验证的API,提供了各种评分方法和参数设置。

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

K折验证交叉验证

总的来说,交叉验证既可以解决数据集的数据量不够大问题,也可以解决参数调优的问题。这块主要有三种方式:简单交叉验证(HoldOut检验)、k折交叉验证(k-fold交叉验证)、自助法。

简单交叉验证

方法:将原始数据集随机划分成训练集和验证集两部分。比如说,将样本按照70%~30%的比例分成两部分,70%的样本用于训练模型;30%的样本用于模型验证。
缺点:(1)数据都只被所用了一次,没有被充分利用
           (2)在验证集上计算出来的最后的评估指标与原始分组有很大关系。

k折交叉验证

为了解决简单交叉验证的不足,提出k-fold交叉验证。

1、首先,将全部样本划分成k个大小相等的样本子集;
2、依次遍历这k个子集,每次把当前子集作为验证集,其余所有样本作为训练集,进行模型的训练和评估;
3、最后把k次评估指标的平均值作为最终的评估指标。在实际实验中,k通常取10.

举个例子:这里取k=10,如下图所示:
(1)先将原数据集分成10份
(2)每一将其中的一份作为测试集,剩下的9个(k-1)个作为训练集
此时训练集就变成了k * D&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值