目录
- 项目简介及目标
- 数据概览
2.1数据来源
2.2数据结构图
2.3数据变量表
2.4离散型数据分布
2.5连续型数据分布 - 数据处理及特征选择
3.1目标值量化
3.2删除字段
3.3缺失值处理
3.4同值化处理
3.5数据格式转换
3.6标签编码
3.7异常值处理
3.8特征选取 - 模型建立
4.1数据划分
4.2样本不平衡处理
4.3参数最优
4.4建立模型 - 模型评估
5.1ROC曲线AUC值
5.2K-S曲线 - 模型对比
- 分析总结
1. 项目简介及目标
简介: 贷款申请人向Lending Club平台申请贷款时,Lending Club平台通过线上或线下让客户填写贷款申请表,收集客户的基本信息,同时会借助第三方平台如征信机构或FICO等机构的信息。通过这些信息属性来做线性回归 ,生成预测模型,Lending Club平台可以通过预测判断贷款申请是否会违约,从而决定是否向申请人发放贷款。
目标:通过预测判断贷款申请是否会违约,从而决定是否向申请人发放贷款。
2. 数据概览
2.1数据来源
数据集是Lending Club平台发生借贷的业务数据(2019年第二季),共有144 个变量,42537条记录。
2.2数据结构图
通过查阅资料,将144个变量进行翻译及分类,主要包括以下几个类型的信息
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/459ec95f81baf64b81bb3bff8bebad4a.png)
2.3部分变量表
由于变量太多,仅展示部分变量
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a1b6b45a791106bdba01572804b5beed.png)
2.4离散型数据分布(这里展示的只是部分变量)
- 目标变量loan_status
从图中可以看出,相对正常样本,违约样本太少,后续应进行样本不平衡处理以提高模型的预测效果
- term:贷款时长,值以月为单位,可以是36或60
- grade:LC指定贷款等级,LC平台依据多样化的需求,将借贷人分成A-G七个等级,从A到G,贷款的风险越来越高,利率也越来越高。
从图中,我们也可以看出这个趋势。无论是投资人还是借贷者,大多数都是选择较低风险较低收益的类型。
- emp_length:工作年限(以年为单位)。可能的值在0到10之间,其中0表示小于一年,10表示10年或更长时间。
工作时长低于1年与10以上的借款人最多,两者的违约比例相差不大。因此,并非工作年限长信用值越高,越靠谱。除此两类,在2-9年,随着工作年限越长,贷款需求越少,有可能是因为收入越来越稳定。
- purpose: 借款人为贷款请求提供的类别。
债务整合(举债还债)这类最多。另外3项是:住房改善、汽车、大宗采购,也就是基本生活需求。相对来说,借钱做生意的,违约率较高。
2.5连续型数据分布
- dti: 按借款人每月总偿债额与总债务
分期付款金额基本呈的正态分布,说明贷款额度集中在中小额度。
*annual_inc:年度收入
年收入集中在0-10万美元以内,但是也有极高收入(最高达到600万)的借款人。
3. 数据处理
3.1目标值量化
对于目标变量Loan_status有四个分类,分别是Fully Paid、Charged Off、Does not meet the credit policy. Status:Charged Off和Does not meet the credit policy. Status:Fully Paid,后两者是指不符合信用政策的坏账或者完全支付的状态,我们认为是特殊情况的信贷,因此不予考虑,当缺失值处理,同时用1代表charge off(违约),0代表fully paid(完全支付)
3.2删除字段
由于项目目的是提前预测贷款申请入是否违约,所以需要剔除属于贷款发放后的数据信息。
诸如个人ID、地址、URL地址以及日期等信息,主观判断其对是否违约影响甚微。
当字段缺失值过多时,将会不利于预测模型的拟合结果。故将缺失值超过70%的字段剔除。
#删除贷后信息
drop_lable = ['collection_recovery_fee','initial_list_status','installment','last_pymnt_amnt','last_pymnt_d','loan_amnt',
'next_pymnt_d','out_prncp','out_prncp_inv','policy_code','pymnt_plan','recoveries','total_pymnt','total_pymnt_inv','total_rec_int','total_rec_late_fee',
'total_rec_prncp','sec_app_earliest_cr_line','sec_app_mort_acc'