Public 46th / Private 34th Solution
Public 46th / Private 34th 解决方案
作者: sinchir0 (Master) | 比赛排名: Private 34th
你好,Kaggler!
这是 Public 46th / Private 34th 的解决方案。
感谢我优秀的队友们:@ttahara、@takanobu0210、@masatakashiwagi、@taromasuda。
我很享受每个周末与队友们的讨论!
最终提交 Notebook
https://www.kaggle.com/ttahara/34th-stacking-5-models-by-mlp-1d-cnn-wo
我们的流程
有效的技巧
- 添加统计特征
- 添加 PCA 特征
- Rankgauss(秩归一化)
- 标签平滑
- 利用非评分目标进行迁移学习(针对 NN, ResNet)
- 浅层模型
- 较短的 epoch,在 NN 的损失变为 NaN 之前学习到极限
- TabNet 设置 n_steps=1, n_shared=1
- 阈值化 NN (Thresholding NN)
@ttahara 定制的 NN,它通过逐元素线性函数对输入进行预处理,然后经过 tanh 激活,再将预处理后的值输入到普通的 MLP 中。他称这个模型为 Thresholding NN。
- 集成。特别是 Tabnet 和 NN 的集成非常有效。
- 通过 MLP、1D-CNN、权重优化进行 2 阶段堆叠
无效的尝试
- 自监督 TabNet (SelfSupervised TabNet)
- 利用非评分目标对 TabNet 进行迁移学习
- 通过 TabNet 的特征重要性进行特征选择
- 伪标签
- 类别平衡损失,Focal Loss
- 对大 logloss 目标进行后处理预测
- 预测药物 ID 和标签幂集。
MoA 是由药物 ID 决定的,所以我们尝试直接预测药物 ID(并将目标转换为标签幂集),但没有效果。
- 使用非评分目标作为特征
我们预测了非评分 MoA,并将非评分的 oof 和预测结果添加到训练和测试数据中,但没有效果。
时间不足
- 对 g-, c- 分箱特征进行目标编码
- XGBoost, CatBoost, 用于单模型的 CNN 模型 (阶段 1)
- 用于堆叠模型的 GCN 模型 (阶段 2)
- Netflix Blending
- 通过 LGBM 进行后处理预测
我们注意到有些列是 NN 无法预测但 LGBM 可以预测的(例如 cyclooxygenase_inhibitor)。因此,我们提出了只重新预测 LGBM 擅长的列的想法。但是没有足够的时间。