517. Open Problems - Multimodal Single-Cell Integration | open-problems-multimodal
这是一个初学者的方案。公开的 Notebooks、去年的顶级方案以及集成学习给了我很大的帮助。
我使用了两种不同的方法:
① 来自 @pourchot 的公开 Notebook 中的预处理方法。
② 使用 PCA 将维度降低到 128 + 基于与目标的绝对相关性的直接特征。
在这两种方法之后,我都对行进行了归一化处理。
第一种方法更有效,第二种方法仅用于集成。
① 不带 BN 和 dropout 的 MLP(使用 Adam 优化器)。我尝试了不同的激活函数并将它们集成,这大大提高了 CV 分数。
② LGBM。我训练了两个 LGBM 模型(不同的数据预处理方式)。
① 基于 donor 的 groupkfold
② 基于 donor 和 day 的 groupkfold
第一种方法在 Public LB 上的得分更高,但第二种方法在 Private LB 上的表现稍好一些。
通过 oof 预测,我选择了 4 个 NN 模型与 2 个 LGBM 模型混合,并确定了权重。最好的 CV 分数是 0.896(donor)。
我使用了去年的顶级方法并做了一些调整。
该方法包含以下步骤:
① tf-idf
② log1p
③ sklearn.preprocessing.Normalizer(norm="l2") 或 sklearn.preprocessing.Normalizer(norm="max")
④ PCA(512)
⑤ 行归一化
⑥ 选择 512 中的前 64 项,以及由直接降维生成的 512 中的前 100 项作为所有特征。
带 dropout 的 MLP(使用 AdamW 优化器)。我使用了不同的激活函数并将它们集成。
① 基于 donor 的 groupkfold
② 基于 donor 和 day 的 groupkfold
我使用了 4 个 NN 并将它们集成。最好的 CV 分数是 0.670(donor)。
通过这种方式,我获得了 0.814 的 Public LB 分数和 0.772 的 Private LB 分数。我认为这可能是赢得金牌最简单的方法。
最后,我要感谢我的两位队友 @jcerpentier 和 @ahmedelfazouan 。我从他们那里学到了很多。
期待下一次进步!