返回列表

4th Place Solution

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

开始: 2020-09-03 结束: 2020-11-30 药物研发 数据算法赛
第4名解决方案

第4名解决方案

作者: Kanna Hashimoto (队友: e-mon, Konbuiyon, hatry, hikomimo)
比赛: Mechanisms of Action (MoA) Prediction
排名: 第4名

首先,我们团队想要感谢 Kaggle 和主办方举办这次比赛。
我对这个结果仍然感到非常兴奋!

方案概览

Solution Overview

我们的方法非常简单:信任交叉验证(CV)& 集成学习。

源代码

验证策略

采用了 @cdeotte 的 CV 方法(基于药物和多标签分层采样),排除了 cp_type = 'ctl_vehcle' 的样本。
这种方法几乎可以实现 CV 分数与 LB(Leaderboard)分数的完全相关。

(感谢 @cdeotte !!)

药物和多标签分层采样代码

特征工程

  • 统计特征

    • sum(和), mean(均值), std(标准差), kurt(峰度), skew(偏度), median(中位数)
  • PCA(主成分分析)

    • 仅应用于 CELL(细胞)特征
  • 组合特征

    • 两个特征之间的差值
    • 由于组合爆炸(872C2=379_756),我们只使用了方差高于阈值的特征。
    for c in itertools.combinations(features_g + features_c, 2)):
        col_name = f"{c[0]}_{c[1]}_diff"
        d = train_features_df[c[0]] - train_features_df[c[1]]
        diff_val = np.var(d)
        if diff_val > 15:
            train_features_df[col_name] = d
            var_list.append(diff_val)
    
  • 分位数变换器

    • 除了 PCA 特征外均应用

建模

第一阶段模型 (1st stage models)

  • stage1-NN (7折 5种子)
    • 由 2 个模型堆叠 而成
      • stage0-NN1 (7折 5种子)
        • 标签:scored + nonscored 目标(全0列除外)
      • stage0-NN2 (7折 5种子)
        • 标签:scored 目标
  • stage1-tabnet (7折 5种子)
    • 标签:scored 目标
  • stage1-svm (4折 1种子)
    • 标签:scored 目标
    • 创建了 206 个模型
同比赛其他方案