第8名解决方案 (Moro & taksai)
第8名解决方案 (Moro & taksai)
作者: Moro (Master) & taksai (Grandmaster)
比赛排名: 第8名
感谢主办方举办了这场有趣的比赛,也感谢所有参赛者。
同时感谢我的队友 (taksai @tsaito21219)。
以下是我们团队的解决方案分享。
摘要
- LSTM 模型
- 验证集:2021年5月、2021年6月、2021年7月
- 模型融合权重:LSTM : MLP : LightGBM = 5 : 1 : 1
1. 验证策略
- 私有数据(2021年8月)属于赛季中数据,因此我们使用赛季中数据作为验证集,并选择接近2021年8月的月份。
- 验证集:2021年5月、2021年6月、2021年7月
- 在移动时间段的同时准备了一些模式作为训练数据。
- 每个模型训练了10折(10-fold)

2. 数据预处理
- 特征总数:232个
- 上个月每个球员ID目标值的 均值/中位数/标准差/最小值/最大值
- 通过键(日期/球员ID/球队ID)连接各表,使用了各表的几乎所有特征
- 使用了除 events.csv 以外的所有表
- 未使用目标滞后特征
- 之所以没有使用目标滞后特征,是因为风险较大。不过,如果根据预测日期拆分模型并仅使用固定值,或许能提高分数。
3. 模型
- LSTM (keras)
- 输入:预测日 + 过去几天(直到5天前)的特征
- 输出:多输出 (target1, target2, target3, target4)
- 模型结构:Input(6days) > TimeDistributed(Dense) > LSTM > LSTM > Dense(256>128>64>4)
- 其他模型:
- MLP (输入:仅预测日的特征)
- GBDT (输入:仅预测日的特征)

4. 模型融合
- LSTM : MLP : GBDT = 5 : 1 : 1
- 公共排行榜得分 (评估数据:2021年5月)
- LSTM: LB=1.28
- MLP : LB=1.32
- GBDT: LB=1.36
- 融合后: LB=1.26
5. 避免提交错误的措施
感谢我的队友。让我们下次再一起合作!