返回列表

10th solution and code

343. IEEE-CIS Fraud Detection | ieee-fraud-detection

开始: 2019-07-15 结束: 2019-10-03 反欺诈与反洗钱 数据算法赛
第10名解决方案与代码

第10名解决方案与代码

作者:Correlation (团队成员: THLUO 等) | 比赛排名:第10名

感谢我队友们的努力。

特征工程

通过EDA发现开卡日(day-D1) (card = card_cols+addr_cols+email_cols, day=TransactionDT//86400):

EDA图表

在 isFraud=0 和 isFraud=1 之间存在不同的 day-D1。

  • 通过其他列对不同的 uid 进行编码——对旧 uid 有用

  • 统计一段时间内 uid 的交易数量和产品类型——对新 uid 有用

如何推断本次比赛没有“震荡”

虽然测试集中旧 uid 的数量随时间减少。但欺诈标签为1(fraud=1)的旧 uid 基本保持不变。

分析截图

如何防止过拟合

因为主要的改进来自于旧 uid 编码。所以 uid 编码的类型越多,本地 CV 分数越高。但并不是训练集中的每个 uid 都存在于测试集中。防止过拟合的技巧是将那些仅出现在训练集中且计数 < k 的 uid 设置为 NaN。这样你就可以添加更多类型的 uid 和编码。

我的三个模型:

模型结果

同比赛其他方案