497. Tabular Playground Series - Jun 2022 | tabular-playground-series-jun-2022
这是我在 TPS(表格竞赛系列)比赛中迄今为止取得的最好成绩。非常感谢 Kaggle 月复一月地举办这些比赛。
我的解决方案主要包含两个方面:
在最初的 10 天里,我投入了大量精力研究 F_2 特征,试图从中找到一些规律。这些特征是分类变量,且没有缺失值。我觉得很难在不进行调查的情况下直接丢弃它们。相关工作已整理在这里。在使用 F_2 特征通过各种方式进行切片和分析却一无所获后,我决定继续前进。
那时,讨论区的主流观点是对 F_1 和 F_3 进行均值插补,并对 F_4 进行建模。我决定从对 F_4 建模开始,并公开了我的工作,旨在为本次比赛建立一个验证集。这有助于比较不同模型并指明方向。
我的第一次提交没有包含 NA(缺失值)计数,得分为 1.04555。同一个模型在加入 NA 计数和一些修改后,得分达到了 0.94694。
在此之后,我决定花些时间对 F_1 和 F_3 也进行建模,而不仅仅是均值插补。我尝试了许多模型和策略,但公开分数几乎没有变动。这时我突然想到,也许 F_1 和 F_3 根本不在公开数据集中。经过一个非常简单的探测,我发现大部分公开数据集由 F_4 列组成,可能只有少数记录在 F_1 和 F_3 中有缺失值。这也让我相信均值插补可能不是 F_1 和 F_3 的最佳选择,因为我们根本无法直观看到性能的变化。
我决定利用允许的 2 次提交机会来同时尝试这两条路径。我提交了一个对 F_1、F_3 进行均值插补并对 F_4 建模的方案,另一个方案则是对所有内容进行建模。第二个方案在公开和私有排行榜上都比较优秀,但优势非常微弱(约 0.00005),这大约相当于排行榜上 3 个名次的差距。所以,我想最终这并没有产生太大影响。
我使用相同的 2 个模型组合分别对 F_1、F_3 和 F_4 进行建模,并对其结果取简单平均值,具体描述如下:
我还开发了其他几个模型,但根据公开排行榜的结果选择了最终提交的方案。最初,我只专注于 F_4 的建模,为了节省时间对 F_1 和 F_3 使用了均值插补。在尝试了各种模型组合后,我选择了上述方案,因为它在公开排行榜上对 F_4 的得分最高。然后,我将该模型组合用于 F_1 和 F_3,并生成了我的提交文件。
非常感谢所有在本月比赛中公开分享贡献的朋友们。从这些帖子中学到了很多。
特别感谢 @ehekatlact,没有他的贡献,这一切都不可能实现。