返回列表

27th place - Trusting CV always works.

407. Mechanisms of Action (MoA) Prediction | lish-moa

开始: 2020-09-03 结束: 2020-11-30 药物研发 数据算法赛
第27名 - 始终信任交叉验证

第27名 - 始终信任交叉验证

作者: Mohamad Merchant
比赛排名: 第27名

使用的特征

    • 从 XGBoost 和 RFECV 中选择的重要特征,未进行任何预处理。
    • 对原始特征进行方差阈值处理(在缩放和 PCA 之前)。
    • 分位数变换
    • PCA,提取 80 个基因特征和 10 个细胞特征
    • 分位数变换
    • PCA,提取约 600 个基因特征和约 60 个细胞特征
    • 方差阈值
    • 分位数变换
    • PCA,提取约 600 个基因特征和约 60 个细胞特征
    • 方差阈值
    • 在所有特征工程完成后删除高相关特征
    • 4000 个 ML-SMOTE 特征
    • 分位数变换
    • PCA,提取约 500 个基因特征和约 50 个细胞特征
    • 方差阈值

少量数据增强

  • 使用 albumentations 库在特征中添加随机 dropout(dropout 率为 0.5),并针对此数据单独训练模型。

使用的模型(10折 MultilabelStratifiedKFold,无固定种子)

  1. 两个三层神经网络:
    a) (BatchNorm -> Dropout -> WeightNorm(Dense) -> ReLU) * 3
    b) (BatchNorm -> Dropout -> WeightNorm(Dense) -> LeakyReLU) * 3

  2. 带有跳跃连接的双头神经网络,使用非评分数据进行迁移学习训练:
    Head1 --> out1 = (BatchNorm -> Dropout -> Dense -> LeakyReLU) * 4
    Head2 --> out2 = out1 + (BatchNorm -> Dropout -> Dense -> LeakyReLU) * 4
    avg --> Average([out1, out2])
    final head --> avg + (BatchNorm -> Dropout -> Reshape -> LSTM) * 1
    (BatchNorm -> Dense -> LeakyReLU) * 3

  3. 带有跳跃连接的双头神经网络,使用非评分数据进行迁移学习训练:
    Head1 --> out1 = (BatchNorm -> Dropout -> Dense -> ReLU) * 4
    Head2 --> out2 = out1 + (BatchNorm -> Dropout -> Dense -> ReLU) * 4
    avg --> Average([out1, out2])
    final head --> avg + (BatchNorm -> Dropout -> Dense) * 1
    (BatchNorm -> Dense -> ReLU) * 3

  4. TabNet。

学习率调度器: ReduceLROnPlateau, OneCycleLR
优化器: Adam, AdamW
激活函数: ReLU, LeakyReLU

(所有模型均使用上述不同的特征和参数进行训练,共 16 个模型。)提交所有这些模型的平均值取得了:
CV: 0.01501
Public: 0.01824
Private: 0.01611

堆叠

通过取所有预测的简单平均值,堆叠所有模型集成的预测结果。
使用原始特征 + 堆叠特征训练模型取得了:
CV: 0.01495
Public: 0.01821
Private: 0.01610

集成

使用不同特征训练的所有模型(16 个模型)与使用堆叠特征训练的模型(10 个模型)的简单平均,总共 26 个模型的集成取得了:
CV: 0.01475
Public: 0.01819
Private: 0.01608

最佳提交 (0.01604)

提交时对权重进行了少量混合

同比赛其他方案