学习预测函数的参数并在相同的数据上验证它是不好的做法。这会导致过盈。为了避免这个问题,最有效的解决方案之一是将部分训练数据保存为验证集。然而,通过对可用数据进行分区并从训练集中排除一个或多个部分,我们大大减少了可用于学习模型的样本数量,并且结果可能取决于对(训练、验证)集的特定随机选择。
这个问题的解决方案是一个称为交叉验证在称为k折叠CV的基本方法中,将训练集拆分为k个较小的集,然后执行以下过程:使用折叠(部分)中的k-1作为训练数据来训练模型,在数据的剩余部分上验证所得到的模型(它被用作计算精度等指标的测试集)。
Apache Ignite提供了交叉验证功能,允许它对要验证的训练器进行参数化,为每一步训练的模型计算指标,并拆分训练数据的折叠次数。