Object: 赛题理解
Key Result:
- 理解赛题数据和目标
- 清楚评分体系。
- 理解赛题的解题思路。
1. 赛题数据和目标
比赛地址:https://tianchi.aliyun.com/competition/entrance/531830/information
1.1赛题数据
-
sample_submit.csv
两列,id,isDefault
id取值范围:[800000,999999]
isDefault取值0.5 -
testA.csv测试数据集
20万条数据
48列数据:
id,loanAmnt,term,interestRate,installment,grade,subGrade,employmentTitle,employmentLength,homeOwnership,annualIncome,verificationStatus,issueDate,purpose,postCode,regionCode,dti,delinquency_2years,ficoRangeLow,ficoRangeHigh,openAcc,pubRec,pubRecBankruptcies,revolBal,revolUtil,totalAcc,initialListStatus,applicationType,earliesCreditLine,title,policyCode,n0,n1,n2,n2,n2,n2,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14 -
train.csv训练数据集
80万条数据- 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.2 比赛目标:
赛题以预测金融风险为任务,数据集报名后可见并可下载,该数据来自某信贷平台的贷款记录,总数据量超过 120w,包含47列变量信息,其中15列为匿名变量。为了保证比赛的公平性,将会从中抽取80万条作为训练集,20 万条作为测试集A,20万条作为测试集B,同时会对employmentTitle、purpose、postCode和title等信息进行脱敏。
2 评分体系
2.1 预测指标
竞赛采用AUC作为评价指标。AUC(Area Under Curve)被定义为 ROC曲线 下与坐标轴围成的面积。
2.2 金融风控预测类常见的评估指标
- KS(Kolmogorov-Smirnov)
K-S曲线与ROC曲线类似,不同在于:
- ROC曲线将真正例率和假正例率作为横纵轴
- K-S曲线将真正例率和假正例率都作为纵轴,横轴则由选定的阈值来充当。公式如下:
K S = max ( T P R − F P R ) K S=\max (T P R-F P R) 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,∞],往往表示模型有异常
3.解题思路
- 赛题理解
- 总体分布
- 缺失值处理
- 异常值处理
- 特征工程
- 基础特征构造
- 特征变换&特征衍生
- 特征过滤
- 特征选择
- 建模调参
- 模型
- 逻辑回归
- 决策树
- Xgboost
- Lightbm
- 调参
- 贪心调参
- 网格搜索
- 贝叶斯调参
- 模型
- 模型融合
- 简单加权融合:基于结果层面的融合
- boosting/bagging:基于模型层面的融合
- stacking/blending:基于特征层面的融合