目录
一、概述
这是我第二次参加大数据类型的竞赛,也是第一次接触金融类的题目,这一题可以称作CCF BDCI这一年的究极卷王题,3200个队伍参加,1300多个队伍提交,比其他赛题多了几倍,最后尽力也只拿下B榜73/3246的名次。
在次记录自己的解题过程以及所思所想。
赛题地址:https://www.datafountain.cn/competitions/530
; 二、解题过程
2.1 数据
本次的数据由3个表组成,分别为个人贷款违约记录数据train_public.csv,某网络信用贷产品违约记录数据train_internet_public.csv,测试集test_public.csv。
数据说明请参考:https://www.datafountain.cn/competitions/530/datasets
通过查看数据,我们可以得知,这三个表可以大致理解为:和测试集分布较为接近的训练集(一万条)train_public,和测试集分布不同的训练集补充train_inte(70多万条),测试集。
很显然,本题的意思在于从补充测试集中找寻合适的数据扩充到原本的数据集中进行训练,然后预测提分,怎么样找到合适的数据成为本题的关键。
对于原始的数据,有一些初步的处理:
- 对于时间类型的数据,转化为统一的time格式,并可以细化为年,月,周等
- 对于string类型表达的数据,如工作类型等编码为数字类型
- 将空值用均值进行填充
对三张表均进行上述操作,构建最基本的三张表
2.2 构建基线
参考社区分享的基线,构建LGBM模型
clf = LGBMClassifier(
n_estimators=4000,
learning_rate=0.03,
num_leaves=2 ** 5,
colsample_bytree=.65,
subsample=.9,
max_depth=5,
reg_alpha=.3,
reg_lambda=.3,
min_split_gain=.01,
min_child_weight=2,
)
首先测试仅将train_public一万条数据导入lgbm中进行训练并测试,采用5折交叉验证,最终的结果为0.8786,这即为最初的基线,在我看来,跑通代码是比赛的第一步,也是较为关键的一步o(╥﹏╥)o
2.3 进阶思路一
同样参考社区提出的方法,第一个思路在于先使用train_public训练lgbm,然后使用训练得到的lgbm预测扩充数据集train_inte,设定一个筛选阈值,从中选择预测较为准确的样本。举个例子,我们根据原始训练集训练了lgbm,然后使用该lgbm预测train_inte,发现预测值
Original: https://blog.csdn.net/qq_43601378/article/details/121892074
Author: 锌a
Title: 2021 CCF大数据与计算智能大赛个贷违约预测top 73 解决方案
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/694316/
转载文章受原作者版权保护。转载请注明原作者出处!