返回列表

5th Place Solution : My First Competition and First Gold

453. MLB Player Digital Engagement Forecasting | mlb-player-digital-engagement-forecasting

开始: 2021-06-10 结束: 2021-09-09 体育商业 数据算法赛
第5名方案:我的第一次比赛和第一枚金牌

第5名方案:我的第一次比赛和第一枚金牌

作者: stallone
比赛排名: 第5名

大家好,

我要感谢 Kaggle 和主办方举办了这么好的一场比赛。我也要感谢我的队友 (@Hyper-Positive-Yancy),他做了一些 EDA(探索性数据分析)并调整了神经网络(NN)。

使用的模型

我们最终的集成模型包括:

  • Lightgbm X 8
  • CATBOOST X 4
  • ANN X 1

数据使用周期

  • 赛季内采样
    我只使用了赛季内的数据。即使我从数据中提取了赛季外的数据,我们也没有发现准确率有任何下降。
    但是,在 2019 年的数据中,我删除了很多数据。这一年,伟大的铃木一朗的退役比赛在日本举行。他在退役比赛中表现不佳,但他有很高的参与度。
    我认为这个数据是异常值并将其删除了。由此我得出结论,特殊的比赛(如退役比赛)应该从数据中移除。

特征工程

  • 先发投手滞后特征
    正如我在这里提到的,我使用了“先发投手滞后特征”。先发投手有时投球(每 4~5 天一次),但他们的目标值 1~4 很高。我建立了一个子模型来预测“这位投手明天是否会投球”。如果这位投手明天投球,他将获得很高的目标值。
    “这位投手明天是否会投球”很容易预测,因为 MLB 投手有轮换(他们大多数人每 4~5 天投一次)。
    当我将此特征与“目标滞后特征”一起使用时,我的公共 LB 分数变好了。

  • 明天是否有比赛
    在这次比赛中,我们要预测“明天”的参与度,但球员的统计数据是今天的。即使球员今天表现很好,如果明天没有比赛,我们也可以看到参与度值会很低。
    因此,明天是否有比赛将是预测参与度的一个重要因素。

  • 目标滞后特征
    如前所述,此特征在与“先发投手滞后特征”一起使用时很有效。因此,我认为使用 3 到 7 天的目标滞后特征非常有意义。
    但是,在评估期的后半段,我必须使用目标数据的预测值。这可能是导致我们后半段模型性能下降的因素之一。

  • 击球贡献度

  • 投球贡献度
    为了公平地评估所有运动员,我们使用了针对运动员的评估指标。我主要使用两个评估指标:“击球贡献度”和“投球贡献度”。
    我在这里找到了“击球贡献度”(抱歉该页面是日文)。
    我在这里找到了“投球比赛分数”。
    作为一个问题,即使是同一位置的投手,也有救援投手和先发投手之分,而且救援投手的投球比赛分数往往较低。因此,该球员作为先发投手投球的概率也被作为一个特征加入。

验证方案

对于训练和验证,我使用了各个赛季内的数据。在训练数据更新后,我更改了验证方案。

训练集:2018年4月1日 至 2021年6月30日
验证集:2021年7月1日 至 2021年7月31日

同比赛其他方案