前段时间参加了三一的这个逾期风控预测比赛(以下简称“风控”),今天看私榜成绩发现居然还提升了27名!😂

(虽然依然菜的一批🤣,离入围决赛差了0.03。。。)

不过有进步就还是很惊喜!因为公榜还只是64名🤣。

现在对整个比赛进行一个回顾。
(PS: 由于官方保密规则,这里不会提供原始数据, 谢谢理解!)
(PPS:这里主要是思路的整理,欢迎大佬分享更优的思路或解法;如果发现有错误的地方,欢迎指出。 🤝)
1. 明确赛题任务

首先根据这个赛题任务,可知这是一个分类问题,准确说是二分类问题。其次,在评估模型性能指标上首选 F1 score,备选混淆矩阵(confusion_matrix) 和准确率(accuracy)。最后根据官方提示,还需要通过特征工程创造新的特征。
2. 数据清洗
初赛的数据集有三个,总量在几十万左右,不算很大,但是因为官方提供的训练平台只是CPU算力,所以需要对数据进行一个类型的转换来压缩数据,防止后面建模出现进程killed的现象。
所以当时掌柜在数据概览后做的第一件事👉 压缩数据。
继续清洗的阶段,掌柜发现三张表都存在一定的对应关系,而且一个账户存在多条记录的情况,后续需要处理一下。然后发现还款日期类型为整数(类似于‘202107’这样),于是转换为日期时间格式。然后缺失值占比都在50%以下,所以这里不需要删除特征,打算采用填充法进行缺失值的处理。因为类别特征不存在缺失,所以无需处理。
主要是数值特征,设备用时和经纬度 特征,采用imputer进行中位数填充。
3. EDA数据探索
发现目标特征呈现出 样本不平衡的结果,于是后期采用SMOTE进行过采样处理。接着通过热力图找到强关联的特征,找到对目标特征更重要的一个,删除其他的。
4. 特征工程
这里主要是对类别特征进行编码,由于三个类别特征基数较大,于是 采用的是Target - Encode方法,使编码后的数字代表不同类别下的风险概率。后加入5 折交叉验证方法,减小过拟合,增加特征的稳定性。 然后把时间特征转换为距离 预测日期的天数。
本来还想用Xgboost来构造新的特征,但是官方平台很容易挂掉一旦加入Xgboost。。。于是放弃了该方法。
5. 建模
掌柜主要采用了 lightGBM的分类模型,因为它在当前环境下更少消耗内存,也运算的更快。后来采用Grid-Search进行网格调参。
6. 模型评估、预测
一开始用准确率和混淆矩阵得到的训练集结果:


7. 赛后思考:优化方向
可以从以下两方面进行优化👇:
- 构造多个可解释特征进行筛选;
- 如果算力允许,加入Catboost、Xgboost模型来构建 基模型,后期采用Stacking模型融合,提升模型鲁棒性。

本文作者分享了参加三一逾期风控预测比赛的经历,从赛题理解到模型优化的全过程。通过数据清洗、EDA、特征工程、模型构建等步骤,使用lightGBM并进行参数调优。尽管面临样本不平衡和计算资源限制,但最终取得了显著的进步。作者计划通过构造更多特征和模型融合来进一步提升模型性能。
293

被折叠的 条评论
为什么被折叠?



