当数据量有限时,单次划分训练集和验证集会导致评估结果波动大。交叉验证通过多次划分取平均,能更稳定地估计模型泛化能力,是中小规模数据集的常用评估手段。
K 折交叉验证把数据分成 K 份,轮流用其中一份做验证、其余做训练,重复 K 次。K 常取 5 或 10,K 越大偏差越小但计算成本越高。分层 K 折在每折中保持类别比例,适合不平衡分类任务。
时间序列数据不能随机打乱,否则会用到未来信息造成数据泄漏。此时应使用时间序列交叉验证,按时间切分,训练集始终早于验证集,模拟真实预测场景,评估结果才可信。
交叉验证的代价是训练次数增加。数据量大时通常只做一次留出验证即可。另外注意预处理要在每折内部完成,避免标准化或特征选择时把验证集信息泄漏进训练,导致评估过于乐观。