因此,我搜索了一些有关重塑问题的文章和Issue文章,但到目前为止,这些解决方案似乎都对我不起作用。
该项目的目标是:预测各商店和SKU的每周销售额(衣服的属性:例如颜色/尺寸)。
数据集的结构如下:
Week, store_id, color, size, last_week_sales, last_2week_sales_(sales two weeks),actual_sales(the one we want to predict)
1, 341, red, LL, 0, 1, 1
1, 341, yellow, M, 2, 4, 2
1, 341, blue, S, 2, 2, 3
2, 342, blue, M, 2, 3, 1
2, 342, green, S, 2, 3, 2
因此,每周,每条记录都是通过功能(衣服的属性和store_id等)的组合而唯一的
每周的记录数不同。
2018年8月23日更新:
我尝试了完全连接的NN,但是正确性约为75%,无法通过各种方式进行改进。我想知道是否还有其他方法可以解决此问题,请先谢谢!
答案 0 :(得分:1)
“重塑问题”是由于对自己的数据和预测目标缺乏了解。 LSTM(通常是RNN)期望向量序列数据结构。本质上,您想对某些函数f(x)进行建模,其中功能随时间变化,x = x(t),因此f(x)可以重写为f(t)。这在示例数据集中并没有特别明显,因为只有一小部分功能(销售)是随时间变化的。
您可以做的是将单个时间段视为一个向量,其元素是静态特征(颜色,商店ID等)加上一个销售实例。这样,完整样本将是由N个垂直堆叠的时间片组成的矩阵,其中N是您拥有的时间片计数。这些样本的许多实例都是批处理,即3维张量,它是循环网络的预期输入。
如果您不只是为了实验和学习而这样做,您应该记住这是一种不好的方法。您的功能没有任何时间结构,从直觉上讲,它们不应对下周的销售产生任何预测潜力。此外,在这里使用RNN是一个过大的选择,您肯定会过度拟合数据集。