返回列表

19th Place : Solution Approach and how we got a huge boost in score!

541. Playground Series - Season 3, Episode 10 | playground-series-s3e10

开始: 2023-03-07 结束: 2023-03-20 物理与天文 数据算法赛
第19名:解决方案方法以及我们是如何大幅提升分数的!

第19名:解决方案方法以及我们是如何大幅提升分数的!

作者: Mohamed Ifreen (Expert) | 排名: 第19名 | 发布时间: 2023-03-21

我和我的队友在最后阶段合并了我们的解决方案,结果分数获得了巨大的提升!

下面的内容详细介绍了我在这个问题陈述中的解决方法。

我的解决方案方法

  • 我主要使用了3个模型的集成(XGB, CAT, LGBM)并进行了超参数调整。添加原始数据集并没有提高我的分数。但我注意到一个有趣的现象:基于原始数据集对模型进行调优,大大提高了我在交叉验证(CV)和排行榜(LB)上的分数。

  • 对于超参数调整,我使用了 Optuna。我在 Optuna 内部执行了5折交叉验证,以获得每个选定超参数的平均对数损失。这确保了我是根据 Optuna 函数内的 CV 进行调整的。

  • 最后,我使用加权平均法合并了模型。我尝试了各种权重组合方法,比如考虑 CV 分数、基于 Optuna 的调整等等。但最终有效的是手动选择。我不得不进行详尽的搜索以获得最佳的权重组合。

我尝试过但无效的方法:

  1. 2层堆叠方法(2 Level stacking approach):它给了我相同的 CV 分数。所以我不想让模型复杂化并冒着过拟合的风险。

  2. 特征选择(Feature selection):我的想法是获取最重要的特征(EK)并将其与所有其他特征结合,以检查结果的准确性。它稍微提高了我的 CV,但在 LB 上略有下降,所以我没有冒险去承担这种差异带来的风险。

  3. KNN 方法:这是我尝试过的一种独特方法。基本上,我获得了集成模型在整个训练数据上的预测结果(显然是使用 CV),并将其单独存储在一个数据框中。在预测过程中,一旦我通过集成获得了预测值,我就找到前 N 个最接近的预测值,并尝试将其与实际预测值进行加权平均。我的直觉是,如果预测非常相似,那么数据点一定非常相似。所以我尝试了这种方法,但不幸的是没有成功。可能它最终增加了越来越多的偏差!

我们是如何获得巨大的分数提升的:

基本上,我和我的队友各自开发了自己的解决方案。他的方法更侧重于特征工程,这对他很有效。而我更侧重于模型构建阶段。当我们结合模型时,模型的多样性给了我们在 LB 上的巨大提升。

希望我能帮大家为下一场比赛提供一些思路!:)

同比赛其他方案