总第98篇
信用卡“坏账”客户分析(二)终于来了,本篇主要针对信用卡客户进行建模,建立评分卡,给每个客户进行打分,通过该客户的得分来判断该客户的“好坏”。
传送门:信用卡“坏账”客户分析(一)
前言
前面的推文《信用卡坏账客户分析》对一些[坏账客户]做了一些基本的描述性分析,这篇将针对所有的信用卡用户建立一个评分标准,即评分卡,类似于芝麻信用分一样,用来评判用户的履约能力和违约风险。
一些数据预处理以及描述性分析,在前文中已经写过,本篇不再赘述,直接进入评分卡建立阶段。
特征选择
1.共线性检测
共线性是指线性回归模型中的特征之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确,而本次我们使用的LR模型是广义线性模型,所以需要进行共线性检测,具体的检测原理就是查看各变量之间的相关性大小。
可以看到,各变量之间的相关性都是比较小,所以不存在共线性问题。
2.特征选择
特征选择是指过滤掉一些对于目标变量影响权重较小的特征变量,机器学习中常用的特征选择方法有如下几种:,本篇中我们选用评分卡模型中常用IV值筛选。
在开始具体的计算之前,先了解一下WEO和IV的概念,可以看看这篇文章,讲述的很清楚:http://blog.csdn.net/kevin7658/article/details/50780391,我就不再赘述了。
具体筛选流程如下:
2.1WOE分箱
所谓的woe分箱就是将连续变量离散化,即切分成不同的区间,离散化后的变量具有很好的稳定性,比如年龄这个连续变量,如果是连续值的时候21和29就是两个不同的值,对模型的效果也不一样,但是如果离散化成20-30的时候,这两个年龄对模型的效果就是一样,更加稳定。
#数据分箱
cut1=pd.qcut(df1["可用额度比值"],4,labels=False)
cut2=pd.qcut(df1["年龄"],8,labels=False)
bins3=[-1,0,1,3,5,13]
cut3=pd.cut(df1["逾期30-59天笔数"],bins3,labels=False)
cut4=pd.qcut(df1["负债率"],3,labels=False)
cut5=pd.qcut(df1["月收入"],4,label