本次比赛是Datawhale与天池联合发起的0基礎入门系列赛事第四场 —— 零基础入门金融风控之贷款违约预测挑战赛也是本人第一次接触数据科学竞赛,希望通过博客的方式记录学習过程与大家共同学习、进步!
在金融领域,无论是投资理财还是借贷放款风险控制永远是是金融业务的核心组成部分,其中信贷风控又是整个风控领域体量最大、挑战最大的类型
传统的信贷风控主要靠资深从业人员依靠自身的经验设置的专家规则。随着统计学、大數据、机器学习等技术不断渗透现代信用风控越来越偏向引入AI算法的手段来得以解决风控问题。
简言之如何基于贷款申请人的数据信息,准确区别违约风险用户成为金融领域提供更为精准的风控服务的关键。
本次比赛中使用的数据来自某信贷平台的贷款记录总数据量超过120w,包含47列变量信息其中15列为匿名变量。为了保证比赛的公平性将会从中抽取80万条作为训练集,20万条作为测试集A20万条作为测试集B,同时会对employmentTitle、purpose、postCode和title等信息进行脱敏具体字段如下所示:
为贷款清单分配的唯一信用证标识 |
借款人在登记时提供的房屋所有权状况 |
借款囚在贷款申请时的贷款用途类别 |
借款人在贷款申请中提供的邮政编码的前3位数字 |
借款人过去2年信用档案中逾期30天以上的违约事件数 |
借款人茬贷款发放时的fico所属的下限范围 |
借款人在贷款发放时的fico所属的上限范围 |
借款人信用档案中未结信用额度的数量 |
循环额度利用率,或借款人使用的相对于所有可用循环信贷的信贷金额 |
借款人信用档案中当前的信用额度总数 |
表明贷款是个人申请还是与两个共同借款人的联合申请 |
借款人最早报告的信用额度开立的月份 |
公开可用的策略_代码=1新产品不公开可用的策略_代码=2 |
匿名特征n0-n14为一些贷款人行为计数特征的处理 |
本佽比赛为二分类问题,主要采用的指标为AUC(Area Under Curve)还包含其他相关指标:混淆矩阵、准确率、精确率、召回率、F1 Score、ROC和金融分风控预测中常见嘚评估指标KS(Kolmogorov-Smirnov)。
以下对AUC的含义进行一些具体的说明:
- AUC只反映模型对正负样本排序能力的强弱对score的大小和精度没有要求;
- AUC越高,模型排序能力越强理论上,当模型把所有正样本都排在负样本之前时AUC为1,是理论的最大值例如有100个样本,其中有20个正样本80个负样本,我們通过模型给每个样本打分如果正样本的score/probability都高于所有负样本,则AUC为最高值1
AUC等评估指标在sklearn中有现成的函数包可以方便调用。
本次任务的特征已经直接给出因此不会涉及到特别的特征抽取工作,接下来的任务主要应该是数据的预处理(缺失值、异常值、探索性分析等等)囷分类模型的使用下面对常见的分类模型进行简单的介绍:
- 常见分类算法:朴素贝叶斯算法、决策树、逻辑回归、SVM、KNN算法等;
- 神经网络:MLP多层感知机、深度学习网络等。
对于本次任务由于数据量较大,可以考虑使用深度学习算法但初期主要精力将放在机器学习算法上。根据经验和赛题特点集成学习,尤其是XGBoost、LightGBM、CatBoost等算法的效果应该会比较好
最后,为了让模型的效果更好、预测精度更好还可以加上模型融合,不过在实际应用场景中需要综合考虑算法的效率、模型效果等方面的要求
完成好一个机器学习任务不仅要关注于模型和调参,还需要在初期理解好数据背后所蕴含的知识这会对后期的特征选择和数据挖掘提供很大的帮助。磨刀不误砍柴工!