火车/ Val /测试时间LSTM

时间:2019-10-01 07:32:29

标签: python machine-learning scikit-learn data-science train-test-split

我有一个数月(从1月15日至7月17日)的数据集,报告每个月的客户财务状况。我的任务是预测未来12个月每个客户的累计销售额。

我的数据集看起来像这样(这是原始数据,为了进行训练,我将创建滞后特征)

Month   CustomerID NetSales
JAN-15     A          10
JAN-15     B          10
JAN-15     C          10
FEB-15     A          10
FEB-15     B          10
FEB-15     C          10
...

如何在训练/验证/测试中进行时间分割?我可以做这样的事情吗?

  • 培训->从1月15日到3月16日的所有客户/月(我每个月在 至少一次,因此模型将学习季节性模式
  • VAL ->从APR-16到6月16日的所有客户/月
  • 测试->从7月16日到9月16日的所有客户/月(我在这里停留是因为我花了12个月的时间来创建目标变量)

这是一致的拆分策略吗?或者,您会提出什么建议?

非常感谢, 安德里亚

1 个答案:

答案 0 :(得分:0)

  

这是一致的拆分策略吗?

是的,您正在尊重一个事实,您不使用验证数据来训练数据之前的数据,而是测试数据。您正在防止数据泄漏,这是正确的方法。

  

或者,您会提出什么建议?

您唯一可以更改的是火车,val,测试装置的一部分,但是您可以尝试。由于这是一个时间序列,因此您应该考虑季节性趋势,这些趋势都已包含在您的训练数据中。