【问题标题】:Machine learning model with varying input shape as time changes随时间变化输入形状变化的机器学习模型
【发布时间】:2021-03-01 18:36:13
【问题描述】:

我正在尝试预测单口喜剧咖啡馆的预订量。我可以使用很多功能,这些功能会影响销售数量。 (例如一年中的某一天、天气、上个月的平均销售额、一周中的某一天、一周中特定日期的平均销售额等)

但是,与实际销售数量最相关的特征之一是截止日期前已售出的门票数量。客户可以在实际订购截止日期前 120 小时(5 天)开始预订(演出当天上午 11:00)。

我更愿意将此数据用作我的机器学习算法的输入。目前我在数据框中创建了 120 列。这些列定义了截止日期前 120 小时,直到截止日期本身。因此,“hour_98”列显示截止日期前 4 天的累计销售额。 “hour_24”列显示截止日期前24小时的累计销售额等。

如果我现在想预测截止日期前 24 小时的销售额,则“hour_24”列直到“hour_0”都被赋予“NaN”值。由于算法无法处理 NaN 值我目前将这些列的值设为 0。但是,我认为这太简单了,会导致预测模型不好。

我们如何处理不断变化的输入形状,因为如果我们越来越接近订购的最后期限,我们会获得更多的数据?

【问题讨论】:

    标签: machine-learning deep-learning


    【解决方案1】:

    现在据我了解,您有固定数量的列,每列代表截止日期前一个预定义小时的数据。所以从某种意义上说,输入数据的形状永远不会改变,只是一些输入特征的有效性会改变。

    如果您有一个固定的输入形状,并且特征的有效性(NaN)不断变化, 您可以通过为每个输入特征使用掩码来解决该问题。

    例如,有效的hour_24 可以表示为hour_24 = 20mask_24 = 1,而无效的hour_24 可以表示为hour_24 = 0(或其他)和 mask_24 = 0.

    算法本身需要学习相对于相关特征的掩码忽略给定特征的位置。

    answer 更详细地解释了如何屏蔽输入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2021-01-18
      • 1970-01-01
      • 2018-08-29
      • 2018-09-07
      • 2020-10-25
      相关资源
      最近更新 更多