453. MLB Player Digital Engagement Forecasting | mlb-player-digital-engagement-forecasting
2021-09-10 更新
最终排名是第3名!谢谢大家 :) 我的源代码有点乱,但你可以在这里查看:GitHub 仓库 和 Kaggle Notebook。
首先,我要感谢主办方组织了这次比赛。
这是一场非常艰难的比赛,但我从中学到了很多东西。
我不知道我的最终排名会是多少,但我会和大家分享我所做的工作。
滞后特征在本次比赛中非常有用,但我们不能在测试数据期间使用目标信息。因此,我们需要在预测日期和滞后特征数据之间设置适当的“间隔”。
例如,如果你想对 8/4 进行预测,
你需要创建至少 3 天的间隔,因为你不能使用 8/1 到 8/3 的目标信息。
我将测试数据分为 8 个时期,并在每个时期使用具有不同间隔的不同模型(间隔:0、3、7、14、21、28、35、45 天)。
三个模型进行了集成,每个目标有不同的权重。
1DCNN 与 MoA 比赛第 2 名的方案相同。
基于时间的划分。
基本上,我只采纳了在所有时期都能提高分数的想法。
我使用了约 440 个特征。除了基本表的连接和 asof 合并外,还使用了以下特征:
从时间序列 API 获取的数据框的累积计数与目标之间存在奇怪的相关性。
我在比赛结束前 3 天注意到了这个问题。我没有在讨论区发布它,因为这可能会困扰参赛者,而是立即联系了主办方。
将此累积计数添加到特征中只能稍微提高 CV(交叉验证)分数,所以它可能是某种伪影或其他东西,但即使它不能大幅提高 CV,最好还是打乱测试数据,因为行的顺序有意义这件事本身就很荒谬。
我最终没有在最终提交中使用这个泄露信息。
在 Jupyter Notebook 中使用时间序列 API 构建复杂的数据管道可能非常痛苦。我会分享我的一些努力。