机器学习里数据通常分成三份:训练集用来拟合参数,验证集用来调超参数和选模型,测试集只在最后评估一次。三者职责不能混。
常见错误是用测试集反复调参,相当于提前泄露了答案,最终线上效果会明显低于报告值。测试集一旦被多次使用,就失去了客观性。
时间序列场景要特别注意切分方式,不能随机打乱,否则会用未来信息预测过去。正确做法是按时间先后划分,保证训练数据早于验证数据。
数据量不足时可以用交叉验证,但同样要保证划分逻辑与线上一致。切分方式错了,再好的模型也只是自欺欺人。
机器学习里数据通常分成三份:训练集用来拟合参数,验证集用来调超参数和选模型,测试集只在最后评估一次。三者职责不能混。
常见错误是用测试集反复调参,相当于提前泄露了答案,最终线上效果会明显低于报告值。测试集一旦被多次使用,就失去了客观性。
时间序列场景要特别注意切分方式,不能随机打乱,否则会用未来信息预测过去。正确做法是按时间先后划分,保证训练数据早于验证数据。
数据量不足时可以用交叉验证,但同样要保证划分逻辑与线上一致。切分方式错了,再好的模型也只是自欺欺人。