657. Playground Series - Season 5, Episode 6 | playground-series-s5e6
简要总结:
这个月我专注于拥有各种各样的不同模型(如 XGB 对比 NN),而不是相同模型的不同特征工程(虽然这里仍然有一些特征工程)。以下是我使用的一些技巧:
在比赛开始时,我使用层次聚类 (HC) 作为集成器。但它有一个问题:添加模型往往会降低 CV 分数。然后我尝试了遗传算法 (GA)。它在大约 20 个模型之前效果很好,但超过那个数量后出现了与 HC 相同的问题。搜索了一段时间后,我确定了 Ridge。它非常快(我的 60 个 OOF 大约需要 1 分钟),而且添加模型几乎总是能提高 CV 分数,所以我一直用它到最后。
关于使用 Ridge 的一些说明:
我训练了一些 XGB 和 NN,通过对目标进行独热编码,使用均方误差 (MSE) 损失进行多目标回归。我本想训练更多这样的回归模型,但时间不够了。
比赛后期,我决定使用乘积特征来增加多样性,但我意外地对新特征进行了标签编码。出乎意料的是效果很好,CV 提高了 0.0001。
在我寻求最多独特模型的过程中,我发现了一些非常酷的库:
如果没有这些库,我可能无法进入前 10 名。
首先,我要感谢所有帮助我走到这一步的人,包括但不限于:@cdeotte, @optimistix, @siukeitin, @ravi20076, @masayakawamata, @omidbaghchehsaraei, @ravaghi, @yekenot(我可能漏掉了很多人)。在过去的 3 个月里,我取得了 3 次前 10 名的成绩,获得了一些 Kaggle 周边奖品,以及一个重要的学习心得:"CV 和 Ridge 是你所需的一切”。
我的最终模型列表:
我还成功选择了我在私有排行榜 (Private LB) 上的 2 个最佳提交。有趣的是,我最好的 CV 是私有排行榜上的第二好,而我最好的公共排行榜 (Public LB) 成绩是私有排行榜上的最佳成绩。以前从未见过这种情况发生。
