返回列表

12th Place Gold (1/2) - lgbm+xgboost+FCN+Transformer

505. American Express - Default Prediction | amex-default-prediction

开始: 2022-05-25 结束: 2022-08-24 信贷风控 数据算法赛
第12名方案 (1/2) - lgbm+xgboost+FCN+Transformer

第12名方案 (1/2) - lgbm+xgboost+FCN+Transformer

作者: Jose Antonio Alatorre | 比赛: Amex Default Prediction | 排名: 12th (Gold)

感谢 Amex 和 Kaggle 举办这场比赛!这是一场非常有趣的比赛,让我获得了很多见解。

解决方案

这是我们集成方案两篇文章中的第一篇(队友 @gandagorn)。我负责的部分主要是采用不同的预处理方法,并将它们通过不同的架构进行处理(感谢 @jiweiliu@lucasmorin@raddar 提供的优秀 notebooks)。

第二部分请见:https://www.kaggle.com/competitions/amex-default-prediction/discussion/348058

Ensemble Diagram

预处理

  1. 使用了 @raddar 的整数特征和原始特征,然后创建了独立的预处理管道,包括标准聚合(最小值、最大值、均值、最后一个值、差值)。
  2. 添加了前 50 个 PCA 特征。
  3. 对所有特征进行全局排名,并构建具有相同趋势的特征的乘积。这一步提升了所有模型的性能。
  4. 对所有类别特征使用了嵌入层。

后处理

根据分裂重要性依次移除特征。

模型

LGBM with Focal Loss + logloss

标准的 LGBM,使用 dart 模式训练,并在 log-loss 中加入了单向 focal loss。加入单向 focal loss 的目的是为了更好地对正类进行分类。

XGBoost

没有什么特别的。

FCN (全连接网络)

全连接架构,使用了与提升树模型相同的特征。进行了 20 折交叉验证(20 folds CV)。

FCN + Transformer Encoder

这可能是最有趣的模型。这是一个双输入的神经网络:表格特征(来自之前的预处理)和排名后的原始特征的完整时间序列。训练过程如下:

  1. 冻结 Transformer 权重,训练 FCN 架构约 30 个 epoch,以产生 1 维输出 [0,1]。
  2. 冻结 FCN 权重,训练 Transformer 约 30 个 epoch,以产生 1 维输出 [0,1]。
  3. 冻结 Transformer 权重,再次训练 FCN 架构约 30 个 epoch,以产生 1 维输出 [0,1]。

Architecture Diagram

对于 Transformer,我使用了标准的 TransformerEncoderBlock,配置为 8 个头和 2 层。

同比赛其他方案