1.交叉验证简介
交叉验证(Cross Validation) 是在机器学习建立模型和验证模型参数时常用的方法。顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集。用训练集来训练模型,测试集来评估模型的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的样本,在下次可能成为测试集中的样本,也就是所谓的交叉。
2.为什么用交叉验证?
- 交叉验证用在数据量不是很充足的情况(比如数据量小于一万条),能够从有限的数据中获取尽可能多的有效信息。
- 交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,能够一定程度上减小过拟合。
3.交叉验证方法
3.1 留出法交叉验证
留出法 (Hold-Out Cross Validation) 是一种简单交叉验证,即针对原始数据集,通常分为训练集、测试集。训练集用于训练模型、测试集对于模型来说是未知数据,用于评估模型的泛化能力。
比如我们随机的将样本数据分为两部分(70%的训练集,30%的测试集),然后用训练集来训练模型,测试集上验证模型及参数,最后选择损失函数评估最优的模型和参数。
from sklearn import datasets
from sklearn import model_selection
#引入sklearn库中手写数字的数据集
digits = datasets.load_digits()
#留出法
X_train, X_test, y_train, y_test

交叉验证是机器学习中评估模型性能的重要方法,尤其在数据量有限时。本文介绍了留出法、k折交叉验证和留一法的原理和适用场景,帮助读者选择合适的交叉验证策略。通过交叉验证,可以有效防止过拟合,提高模型泛化能力。
最低0.47元/天 解锁文章
2543

被折叠的 条评论
为什么被折叠?



