数据泄漏和预测模型:我们应该使用过去的预测作为特征吗?

数据挖掘 机器学习 时间序列 特征工程 数据泄露
2022-02-19 01:36:54

我想开发一个随机森林分类器模型来预测客户是否会在 7 天后转换。该模型每周重新训练一次,并对下一周进行预测。我使用的功能是使用价值 2 年的客户行为数据创建的。

由于我每周运行一次此模型并生成预测,因此我每周都会为每个客户存储转化预测。此外,我会知道我之前的预测是否正确。

因此,假设我今天在接下来的一周再次训练模型,我想包含以下功能:

last_wk_predictions = Probability of Purchase predicted last week for each customer (between 0 and 1)
did_convert_last_wk = did they convert last week? (0 or 1)

这种方法有特定的名称吗?包括过去的预测是否被视为数据泄漏?

1个回答

这取决于您要解决的业务问题。如果您的初始模型不太好,您可能会看到数据泄漏。对于每周问题,最好获得真正的基本事实(即使是每周数据的一小部分也是好的)并将其添加到模型的重新评估和可能的重新训练中。现在,如果您认为过去的购买会使客户回头客(是的,如果产品质量好并且很快消耗掉,使客户反复想要它)那么是的,添加每周的基本事实肯定会大大增加减少回头客的错误分类相同的产品。但正如我在第一句话中所说,如果你只将过去一周的预测包括到本周,模型可能会出错,因为第一次迭代错误将开始影响后面的迭代,并且随着时间的推移,模​​型将远离良好的预测。如果您将过去一周的预测包括到本周,并且客户的返回行为与当前行为没有任何关系或几乎没有关系(例如非慢性病患者因小病来医院就诊),那么您正在引入数据泄漏,这随着时间的推移会给出错误的预测。