返回列表

2# place winning solution.

469. Tabular Playground Series - Dec 2021 | tabular-playground-series-dec-2021

开始: 2021-12-01 结束: 2021-12-31 资源管理 数据算法赛
第二名获胜方案

第二名获胜方案

作者:Sergey Saharovskiy
比赛排名:第 2 名

前言

1月1日早上醒来,看到我在比赛中获得了第二名,我感到非常兴奋。

我参加这次比赛的主要目标是创建一个优秀的内核,以支持后续的比赛开发并鼓励其他参赛者。内核的表现很不错……我决定转换方向,专注于排行榜。我制定了计划,准备了设计文档并定义了最初的实验。

数据科学方法

我开始从讨论区和内核中收集尽可能多的信息。我首先决定的是要仔细研究原始数据集。我致力于在特征比较、选择和剔除方面尽可能多做工作。与此同时,@chryzal 发布了关于特征工程的笔记本。在此之前,我已经为我的模型应用了欧几里得距离。

1. 特征工程

特征工程似乎是合理的,但我无法认同 @chryzal 关于聚合特征的观点。我尝试将比赛数据集尽可能接近原始数据集,结果在交叉验证(CV)上得分极高,但在测试数据上却失败了。额外的特征裁剪、应用土壤掩码(附注:你知道有些树木即覆盖类型在原始数据集中的特定土壤上根本不生长吗?)都失败了。数十次实验都失败了。只有欧几里得距离、曼哈顿距离和方位角修正起了作用。我的点子用光了,我差点就要退赛了。

2. 模型与第二春

我尝试了不同的模型架构,并确信我几乎所有的模型都以相同的方式收敛。我表现最好的模型最终是这个。我从一开始就不相信 SeLU。我堆叠了我表现最好的10个模型(即软投票),这是一个突破。(附注:col_drop=['Id', 'Soil_Type7', 'Soil_Type15'])。然后,又一轮实验带来了另一个突破。相同的架构但不同的 batch_sizes -> 表现最佳者的软投票。

3. 动力低谷 1.0

某天早上醒来,我看到有30个人排在我前面,复制着同一个笔记本。在我看来,这场比赛似乎变成了马戏团或者幼儿游乐场(我还没想出合适的比喻)。

4. 伪标签

对于数据科学家来说(至少对我来说),合并训练数据和测试数据是一个大禁忌。我对此持极度怀疑态度。但由于那时我已经对任何事情都不确定了,我用自己的模型尝试了一下。我很快意识到我的模型性能因此下降。既然这对别人有效,但对我证明无效,我决定远离它。

5. 动力低谷 2.0

又一天早上醒来,我看到又有几十人排在我前面,分数从 0.9709 变为 0.9711,复制着基于他人工作的相同融合方案(那时我的分数是 0.9707)。

6. 最终融合:打不过就加入

我无法再在没有外部帮助的情况下无休止地改进我的模型来对抗这种情况了。很明显,其他人只是复制了已被证明的结果。我仔细查看了 0.9709->0.9711 的公开融合方案。我移除了任何与伪标签相关的内容。我堆叠了我的3个模型(分数 0.9707)和其他人的作品。最终,我得到了:

我进行了数十次实验迭代,可以在找到一个小版本。实验树小版本

我希望我没有忘记提及/引用/点赞任何人的工作或对这一成就的贡献。感谢阅读。这是一篇很长的文章。