交叉验证

本文介绍了在机器学习中如何有效地选择模型参数和特征。验证集用于评估模型,但过度依赖可能导致过拟合。交叉验证,尤其是K重交叉验证,提供了解决方案,既能充分利用数据又减少过拟合风险。文中通过示例代码说明了如何使用交叉验证选择最佳超参数和特征比例,强调其在模型选择和特征选择中的重要作用。
摘要由CSDN通过智能技术生成

1. 验证集

在使用一个机器学习模型时,通常有一些参数需要设置,比如:

  • KNN中的 k <script id="MathJax-Element-293" type="math/tex">k</script>,距离函数;
  • SVM算法中的(C, gamma);
  • GBDT中的迭代次数,树的深度;

这些参数称为超参数(hyperparameters),好的参数可以极大提高算法的预测性能。选择合适的模型参数过程称为模型选择(model selection)。那么如何选择这些参数呢?在模型学习过程中,通常做法是将数据分为训练集和测试集,其中训练集用来训练模型,测试集用来预测模型在未知数据上的预测性能。需要注意的是,绝对不能用测试集来调整这些超参数

用测试集来调整参数的危害之一是,模型可能在测试集上取得较好地预测性能,然而当我们实际部署模型时,却发现性能很差。实际上,模型对测试集产生了过拟合。换种思路看这个问题的话,若我们使用测试集调整参数,实际上我们已经将测试集当做训练集来使用,这样模型在看的见的数据上取得不错的性能,当部署模型到实际应用时,模型对于没见过的数据预测性能很差,也就是说模型泛化能力很弱。

正确的做法是在整个过程中,测试集只能被使用一次,而且是在最后一步。那么怎么样调整这些参数呢,可以将训练集分为两部分,其中数据多的部分用来训练模型,数据少的部分,用来调整参数,这部分也称为验证集。

2. 交叉验证

当我们用来训练模型的数据规模(包括训练集和验证集)不大时,将其中部分数据划分为验证集用来调整参数有些浪费,增加了模型过拟合的可能性。这时可以采用K重交叉验证的办法。

K重交叉验证相比把数据集分为(test, validation, train sets)的做法可以充分利用所有的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值