返回列表

24th place solution - 2 stage Autogluon and XGB, no post-processing

667. NeurIPS - Open Polymer Prediction 2025 | neurips-open-polymer-prediction-2025

开始: 2025-06-16 结束: 2025-09-15 化学与材料 数据算法赛
第 24 名解决方案 - 两阶段 Autogluon 和 XGB,无后处理

第 24 名解决方案 - 两阶段 Autogluon 和 XGB,无后处理

作者: tennogh (EXPERT)
排名: 第 24 名
发布时间: 2025-09-17

所以我不认为我做了什么特别有趣的事情,但由于发生了大洗牌,我想看看哪些解决方案幸存了下来(除了 Tg 后处理之外),我想我还是分享一下我的方案吧。

我的代码由 20 个不同的 notebook 组成,所以我不打算分享代码。但我认为它很容易理解。

数据集

我使用了大多数公开 notebook 中的数据集,即主办方添加到竞赛数据中的数据集以及 TgSS 数据集。我不想花时间阅读细则和寻找隐藏的仓库。
我尝试了两种处理数据集的方式,首先是重新缩放以更接近训练数据,然后是去除异常值。这两种方式得出的 LB 分数都较差,所以我最终使用了原始数据。
数据集之间存在显著偏移,例如为了重新缩放 TgSS 数据集,我做了 *.71 + 22。

特征

我生成了几乎所有能生成的特征:Morgan、MACCS 指纹、RDKit 和 Mordred 描述符、图特征、ChemBERT 嵌入。
在删除低方差列后,我最终得到了大约 1500 个字段。

第一阶段模型

首先我用所有特征运行了第一个 Autogluon。然后我使用特征重要性功能,每个目标保留大约 500 个特征,并运行了第二个 Autogluon 模型。我还使用了几个公开 notebook 中的 XGB 模型,例如 这个(不确定是否是原作者),但在我的设置下,它的表现比公开版本差得多(.68 vs .64 LB)。
例如,Rg 的 top 特征是 3 个 BERT 生成的字段,以及 Mordred 键合和结构信息内容。

第二阶段模型

我使用第一阶段的 3 个模型在所有训练 SMILES 上生成伪标签。然后我在这些标签上训练了第三个 Autogluon。我使用了所有第一阶段的特征以及第一阶段模型对其他目标的预测。

一般来说,Autogluon 集成主要由 Tabm 组成。例如,我最终使用的 Tg 模型是 77% TabM, 15% LGBM, 8% Catboost。

所有 Autogluon 以及特征选择都是在具有 12 小时预算的 GPU notebook 上运行的。

最终方案

我的 .86 notebook(公开 LB 为 .66)使用了以下模型:

目标 模型
Tg 仅含 500 个特征的第一阶段 Autogluon
FFV XGBoost
Tc 第二阶段 Autogluon(带有弱标签)
Density 两个第一阶段 Autogluon 的平均值
Rg 第二阶段 Autogluon(带有弱标签)

模型的选择纯粹基于 LB 分数。虽然我没有做任何后处理,但 Tg 的选择带来了显著的改进,所以它可能是具有“最佳”偏差的模型。

我提交了一个更保守的集成,仅使用我尝试过的所有模型的中位数,那个在公开 LB 上得分为 .65,但在私有 LB 上仅为 .91。

被拒绝的方法

我最初只想用这次竞赛尝试一堆表格模型和 GNN。我对 LGBM 尝试了相同的两阶段方法,但结果较差。我也在 Tg 上训练了一个 GNN,表现灾难性地差,所以我停在那里了(事后看来,也许这不是最好的目标)。

最后我认为我的最终分数运气不错,我在公开 leaderboard 上不在铜牌范围内。但看到其他解决方案,我认为这表明 Autogluon 和 TabM 是相当强大的方法。

同比赛其他方案