TASK1 赛题理解
本次组队学习的任务是典型的贷款违约问题,即通过所给的关与贷款者的各项字段特征去判断该客户是否是潜在的违约客户,这类题在各类风控问题中常常出现,因为不同银行或机构所掌握的客户信息不同,每个特征也不同,所以如何利用字段特征,成为了是否能拿高分的关键因素
先来看一下题目简介:
赛题以预测用户贷款是否违约为任务,该数据来自某信贷平台的贷款记录,总数据量超过120w,包含47列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取80万条作为训练集,20万条作为测试集A,20万条作为测试集B
本题的各字段意义如下
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,为一些贷款人行为计数特征的处理 |
通过对字段的概览,我们发现本次特征众多,其中很多特征是做过加密化处理,但是有很多特征有重要的意义,如城市,贷款金额等,这些特征会在之后的特征工程中有很大运用
评分标准
评分标准是一个比赛衡量选手能力的最直接指标,常见的评分标准有MSE,AUC等等,本次项目的标准是风控类比赛的常客:AUC评估模型效果
先来看看AUC的定义:
AUC(Area Under Curve)被定义为 ROC曲线 下与坐标轴围成的面积,显然这个面积的数值不会大于1。
又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;
等于0.5时,则真实性最低,无应用价值。
这里面涉及了很多概念,ROC和AUC,要弄懂这两个,首先明白0,1这两种标签的意义
- 称预测类别为1的为Positive(阳性),预测类别为0的为Negative(阴性)。
- 预测正确的为True(真),预测错误的为False(伪)。
由此得出矩阵
以上矩阵分为了四个类别
- (1)若一个实例是正类,并且被预测为正类,即为真正类TP(True Positive )
- (2)若一个实例是正类,但是被预测为负类,即为假负类FN(False Negative )
- (3)若一个实例是负类,但是被预测为正类,即为假正类FP(False Positive )
- (4)若一个实例是负类,并且被预测为负类,即为真负类TN(True Negative )
因此,roc曲线往往是下面这种图
AUC即曲线与横坐标FPRate构成的面积,AUC的计算方法同时考虑了分类器对于正例和负例的分类能力,在样本不平衡的情况下,依然能够对分类器作出合理的评价。
当然K-S曲线也常常用来做这种场景的评分标准,与ROC曲线的区别如下
- ROC曲线将真正例率和假正例率作为横纵轴
- K-S曲线将真正例率和假正例率都作为纵轴,横轴则由选定的阈值来充当。 公式如下: KS=max(TPR−FPR)KS=max(TPR−FPR) KS不同代表的不同情况,一般情况KS值越大,模型的区分能力越强,但是也不是越大模型效果就越好,如果KS过大,模型可能存在异常,所以当KS值过高可能需要检查模型是否过拟合。以下为KS值对应的模型情况,但此对应不是唯一的,只代表大致趋势。
- KS值<0.2,一般认为模型没有区分能力。
- KS值[0.2,0.3],模型具有一定区分能力,勉强可以接受
- KS值[0.3,0.5],模型具有较强的区分能力。
- KS值大于0.75,往往表示模型有异常。
一般采用根据题目评分标准对应的评分来在线下衡量自己的准确率,避免浪费提交机会