零基础入门金融风控-贷款违约预测
数据集:阿里天池-索要之书-风控数据集
赛题来源:https://tianchi.aliyun.com/competition/entrance/531830/introduction
赛题以金融风控中的个人信贷为背景,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这是一个典型的分类问题。通过这道赛题来引导大家了解金融风控中的一些业务背景,解决实际问题,帮助竞赛新人进行自我练习、自我提高。赛题方同时为本赛题定制了学习方案,其中包括数据科学库、通用流程和baseline方案学习三部分。
一、赛题数据
赛题以预测用户贷款是否违约为任务,数据集报名后可见并可下载,该数据来自某信贷平台的贷款记录,总数据量超过120w,包含47列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取80万条作为训练集,20万条作为测试集A,20万条作为测试集B,同时会对employmentTitle、purpose、postCode和title等信息进行脱敏。
字段表
Field | Description |
---|---|
id | 为贷款清单分配的唯一信用证标识 |
loanAmnt | 贷款金额 |
term | 贷款期限(year) |
interestRate | 贷款利率 |
installment | 分期付款金额 |
grade | 贷款等级 |
subGrade | 贷款等级之子级 |
employmentTitle | 就业职称 |
employmentLength | 就业年限(年) |
homeOwnership | 借款人在登记时提供的房屋所有权状况 |
annualIncome | 年收入 |
verificationStatus | 验证状态 |
issueDate | 贷款发放的月份 |
purpose | 借款人在贷款申请时的贷款用途类别 |
postCode | 借款人在贷款申请中提供的邮政编码的前3位数字 |
regionCode | 地区编码 |
dti | 债务收入比 |
delinquency_2years | 借款人过去2年信用档案中逾期30天以上的违约事件数 |
ficoRangeLow | 借款人在贷款发放时的fico所属的下限范围 |
ficoRangeHigh | 借款人在贷款发放时的fico所属的上限范围 |
openAcc | 借款人信用档案中未结信用额度的数量 |
pubRec | 贬损公共记录的数量 |
pubRecBankruptcies | 公开记录清除的数量 |
revolBal | 信贷周转余额合计 |
revolUtil | 循环额度利用率,或借款人使用的相对于所有可用循环信贷的信贷金额 |
totalAcc | 借款人信用档案中当前的信用额度总数 |
initialListStatus | 贷款的初始列表状态 |
applicationType | 表明贷款是个人申请还是与两个共同借款人的联合申请 |
earliesCreditLine | 借款人最早报告的信用额度开立的月份 |
title | 借款人提供的贷款名称 |
policyCode | 公开可用的策略_代码=1新产品不公开可用的策略_代码=2 |
n系列匿名特征 | 匿名特征n0-n14,为一些贷款人行为计数特征的处理 |
二、评测标准
提交结果为每个测试样本是1的概率,也就是y为1的概率。评价方法为AUC评估模型效果(越大越好)。
ROC(Receiver Operating Characteristic)
- ROC空间将假正例率(FPR)定义为 X 轴,真正例率(TPR)定义为 Y 轴。
TPR:在所有实际为正例的样本中,被正确地判断为正例之比率。TPR=TPTP+FNTPR=TPTP+FNFPR:在所有实际为负例的样本中,被错误地判断为正例之比率。FPR=FPFP+TN
ROC曲线是二值分类问题的一个评价指标。它是一个概率曲线,在不同的阈值下绘制TPR与FPR的关系图,从本质上把“信号”与“噪声”分开。
曲线下面积(AUC)是分类器区分类的能力的度量,用作ROC曲线的总结。
竞赛采用AUC作为评价指标。AUC(Area Under Curve)被定义为 ROC曲线 下与坐标轴围成的面积。
AUC越高,模型在区分正类和负类方面的性能越好。
当AUC=1时,分类器能够正确区分所有的正类点和负类点。然而,如果AUC为0,那么分类器将预测所有的否定为肯定,所有的肯定为否定。
当0.5<AUC<1时,分类器很有可能区分正类值和负类值。这是因为与假反例和假正例相比,分类器能够检测更多的真正例和真反例。
当AUC=0.5时,分类器无法区分正类点和负类点。这意味着分类器要么预测所有数据点的随机类,要么预测常量类。
因此,分类器的AUC值越高,其区分正类和负类的能力就越好。
在ROC曲线中,较高的X轴值表示假正例数高于真反例数。而Y轴值越高,则表示真正例数比假反例数高。
因此,阈值的选择取决于在假正例和假反例之间进行平衡的能力。
评价指标
评价指标针对不同的机器学习任务有不同的指标,同一任务也有不同侧重点的评价指标。
主要有分类(classification)、回归(regression)、排序(ranking)、聚类(clustering)、热门主题模型(topic modeling)、推荐(recommendation)等。
数据集上测试两个分类器的性能
Sklearn有一个非常有效的方法roc_curve(),它可以在几秒钟内计算分类器的roc!它返回FPR、TPR和阈值:
可以手动测试每个阈值的敏感性和特异性,也可以使用sklearn的roc_auc_score()方法计算AUC得分
三、结果提交
提交前请确保预测结果的格式与sample_submit.csv中的格式一致,以及提交文件后缀名为csv。
形式如下:
id,isDefault
800000,0.5
800001,0.5
800002,0.5
800003,0.5
四、经验总结
赛题理解是开始比赛的第一步,赛题的理解有助于对竞赛全局的把握。通过赛题理解有助于对赛题的业务逻辑把握,对于后期的特征工程构建和模型选择都尤为重要。
- 在开始比赛之前要对赛题进行充分的了解。
- 比赛什么时候开始,什么时候结束,什么时候换B榜数据。
- 和该比赛有没有类似的比赛可以参考借鉴。
- 线上提交结果的次数往往是有限的,提前了解每日可以提交的次数。
- 比赛使用的是什么评价指标,可以选择相同的评价指标作为线下验证的方式。