交叉验证是模型评估的常用手段,但在推荐场景中直接随机划分会带来泄漏。同一用户的行为分散在训练和测试集,模型可能记住用户偏好而非学到泛化规律,导致离线指标虚高。
按用户划分能缓解用户级泄漏,但仍有时间泄漏。用未来数据训练、过去数据测试不符合线上时序,模型会利用未来信息。推荐系统更推荐按时间切分,用较早数据训练、较晚数据测试,模拟真实部署场景。
时间切分也有代价。单次切分对数据分布敏感,评估结果方差大。可用滚动时间窗做多次评估,观察指标稳定性。若数据量充足,还可做时间序列交叉验证,兼顾时序性和样本利用率。
选择评估方案要看目标。调参阶段可用用户级划分快速迭代,最终验收必须用时间切分。无论哪种方式,都要固定随机种子和划分逻辑,保证不同模型之间的比较公平可比。