629. Playground Series - Season 4, Episode 11 | playground-series-s4e11
我这个月的主要目标是避免重蹈上个月的覆辙,当时我从公共排行榜第 1 名一路跌到私有排行榜第 299 名。在这方面,我很高兴能获得第 13 名,尽管有点失望没有进入前 10 名,特别是因为我有多达 7 个提交在私有排行榜上的得分足以进入前 10 名,但我没有选择它们。在继续之前,我要祝贺 @ravaghi 获得了当之无愧的胜利,以及其他所有在洗牌中站稳脚跟的人。我还要感谢那些慷慨分享见解和代码的人,包括但不限于
@ravaghi, @bjoernholzhauer, @cdeotte, @siukeitin, @peymanarmaghan, @igorvolianiuk, @oscarm524
我这个月的方法与过去几个月大致相同:尝试许多不同的模型,试图在我的 OOF 预测集合中生成多样性,密切关注交叉验证(CV)与排行榜(LB)的对应关系,并试图从讨论、公共笔记本和其他地方学习新东西。这种方法效果还算不错,但有趣的是,一些在 CV 或公共排行榜上得分不高(因此未被我选为最终 2 个提交)的提交,最终在私有排行榜上表现得出奇的好。以下是几点注意事项:
我忍不住时不时与公共笔记本进行一点融合,这在一段时间内 artificially 让我在公共排行榜上保持高位。但我确保没有选择任何这些提交,因为我相当肯定即将发生巨大的洗牌。
得分最高的提交是我今年在各种 TPS 竞赛中努力的典型代表——由 79 个 OOF 预测组成的集合,通过 Autogluon 集成(CV = 0.94192, 公共 LB = 0.94371)。这在私有排行榜上得分为 0.94151,确保了我第 13 名的位置。另一个(CV = 0.94090, 公共 LB = 0.94360, 私有 LB = 0.94147)是我非常喜欢的一个仅包含 11 个 OOF 预测的小集合——它包括 4 个 CatBoost, 4 个 XGBoost, 2 个 LGBM 和 1 个 MLP OOF 预测。这本来可以排在第 24-26 名,所以对于 11 个模型的集合来说已经相当不错了。然而,事实证明,我有多达 16 个提交的得分会高于我选择的这些,而且其中大多数很难猜测。
有几个提交的私有分数高于你选择的提交并不奇怪——但这个月令人惊讶,既是因为此类提交的数量之多(16 个),也是因为它们的多样性。OOF 预测的数量从 7 个到 130 个 (!) 不等,集成方法也多种多样,包括 Ridge, Lasso, Ridge + 逻辑回归(直接借用自 @ravaghi), 爬山法(带和不带负权重), Autogluon, LightAutoML。而且这 16 个提交中的大多数来自前两周,这意味着在下半个月,我努力推动 CV 上升同时保持良好的 CV-LB 对应关系,结果却在私有 LB 上得分 modest。我的最高私有分数(CV = 0.941087, 公共:0.94317, 私有:0.94180),本来可以排在第 4 名,使用了 42 个 OOF 预测,是在还剩 22 天时达成的。有点荒谬的是,我的次佳成绩(CV = 0.94156, 公共:0.94163, 私有:0.94177)仅仅是 Autogluon 加上原始数据集和一些添加的特征。我仍然难以相信私有分数高于 CV 和公共 LB——以前从未见过这种情况,感觉像是某种彩票情况。
我这个月的第一个提交仅仅是示例提交文件——因为它包含全零且指标是准确率,分数直接告诉了我用于公共 LB 的 20% 测试数据中零的比例。在 0.82073 分处,这意味着 1 的比例是 0.17297,略低于训练数据中看到的 0.18171。这让我有点 wary 遵循 @cdeotte 的建议(在他关于爬山法的精彩笔记本中给出)预测恰好 17044 个 1——如果剩余 80% 的测试数据也有约 17.297% 的 1 怎么办?我第一个提交的私有分数告诉我们有 81.687% 的 0,或 18.313% 的 1——所以也许我应该遵循建议。有些事情需要回去检查,并在未来牢记。无论如何,所有这些都意味着未见过的 80% 数据有更高比例的 1,这可能是分数有点令人惊讶的原因之一。此外,由于学生比专业人士更难预测,可能也有更高比例的学生。
构建多样化的 OOF 预测集合像往常一样有效。专注于 CatBoost 在某些方面有效,但在其他方面则不然。具体来说,我实验了很多 CatBoost 的各种超参数,产生的 CV 高达 0.94184 (!),公共 LB 高达 0.94355,但这些中最好的在私有 LB 上得分为 0.94140,本来可以排在第 35 名左右——对于一个 solo 模型来说还不错,但我希望更多。另一方面,许多我通常忽略的各种超参数的 CatBoost 模型(例如 Bayesian, Bernoulli 和 MVS boosting, Newton Cosine/L2 scoring function 等)有助于集合的多样性。神经网络得分稍低,但像往常一样与 GBDT 结合得很好。最后,这不是 CatBoost 为王的一集——它肯定是顶级模型之一,但 XGBoost, LGBM 甚至 Gradient Boosting 都能与它竞争。
至此,我将结束本月努力的总结——这是一段有趣的旅程,虽然我对错过前 10 名甚至前 4/5 名有点失望,但我很高兴能在洗牌中幸存下来并以第 13 名 finish。祝大家本月最后一次 TPS 竞赛一切顺利!