返回列表

2nd Place Approach

480. March Machine Learning Mania 2022 - Womens | womens-march-mania-2022

开始: 2022-02-19 结束: 2022-04-04 赛事预测 数据算法赛
第二名方案

第二名方案

作者:James Trotman
比赛:Womens March Mania 2022

恭喜所有获奖者,包括南卡罗来纳大学斗鸡队!感谢 Kaggle 再次举办比赛并及时更新排行榜!还要感谢 Mark McClure 提供了绝对是史上最好的用户提交评分 UI!提供这个工具并按时更新分数绝对值得某种社区领袖论坛英雄的奖项 👏。

我今年的提交代码与 2021 年的代码完全相同(男子组第 10 名,女子组第 12 名)。

基础模型

对于女子锦标赛,它是 Five38 比赛概率的一个近似值:

sub["Pred"] = 1. / (1 + 10**(rdiff * (30.464 / 400)))

rdiff 是 Five38 球队评级的差异;并且在第一轮中使用他们更精确的预测:

idx = sub.Round == 1
sub.loc[idx, "Pred"] = sub.loc[idx, "LTeamID"].map(five38.rd2_win)

这部分的得分是 0.42217,大约第 31 名。对于后期的比赛,它往往过于自信,当你看到接下来对这些预测做了什么处理时,这一点可能很重要……

覆盖调整

有几种安全的方法可以拆分两个提交:

  • 对所有可能的决赛进行 0/1 拆分,但如果决赛实力不平衡怎么办?例如 2021 年。
  • 将最接近 0.5 的第一轮比赛在一个提交中拆分为 0.5 → 1,在另一个提交中拆分为 0.5 → 0。

后者保证了 -ln(0.5)/63 = 0.011 的对数损失节省。

相反,我使用了与去年相同的 Madtown 技术,我现在意识到这是第二种选择的推广:

  • preds[(abs(preds-0.5)<T)] → [ P , (1-P) ]

对于第二种“安全的 R1 赌博”(仅限 R1 比赛),T 几乎为零(这样只有一场比赛受影响),P 为 0。

对于女子锦标赛的“Madtown”赌博,我发现更保守的设置似乎效果更好,使用了 T=0.16 和 P=0.36,因此所有在 0.34 - 0.66 之间的预测在一个提交中设为 0.36,在另一个提交中设为 0.64。

以下是我的评分预测:

预测图表

  • Y 轴是热门球队的概率
  • X 轴显示轮次和比赛获胜者
  • X 轴按 [第一轮, 第二轮, 其他轮] 排序,然后按概率排序
  • 蓝色 = 模型预测
  • 黑色 = 未使用的原始模型(一个提交中为 0.36,另一个为 0.64)
  • 红星 = 对数损失分数(右侧 Y 轴)
  • 黑线 = 原始模型得分 0.42217
  • 红线 = 最佳提交得分 0.38864

与其使用大约 ~0.5 的不确定预测(得分都约为 ~0.693),我们得到 -ln(0.36)=0.446285 或 -ln(0.64)=1.021679,希望在一个提交中有更多 0.446285,从而降低平均对数损失。

结果有 13 场接近的比赛进行了评分,这些比赛具有这些分歧的预测,有趣的是,任何一组

同比赛其他方案