signed

QiShunwang

“诚信为本、客户至上”

python之信贷风险数据分析及逻辑回归预测,sklearn特征工程

2020/8/19 22:58:04   来源:

最近看的一些风险信贷相关的一些写的比较详细的博客,还有使用sklearn进行特征工程的博客,单纯的进行简单整理和记录,详细的可以点击链接。

文章目录

    • 1.Python案例分析之客户信贷预测模型
    • 2.利用LendingClub数据建模
    • 3.使用sklearn做特征工程

1.Python案例分析之客户信贷预测模型

来自 https://blog.csdn.net/weixin_43656359/article/details/104683553
文章发布于2020-3-14

该网页中内容主要介绍了客户信贷预测的一般流程,主要包括数据清洗、建模、预测三部分,使用的数据集是Lending club平台的业务数据,共有52个变量,39522条记录。
详细步骤如下:

  1. 对数据集中缺失率超过一半的列进行剔除
  2. 样本中对银行评定是否放贷并没有任何影响,与预测没有关系的标签,结合实际情况进行剔除。
  3. 去掉标签中只有一种属性的列
  4. 对数据进行LabelEncoder 或者OneHotEncoder编码
  5. 处理缺失值,对于缺失量不是很多的数据,可以直接去掉缺失值所在的行。对于缺失量比较多的数据,说明该数据存在的问题,再将该特征进行删除
  6. sk-learn库不接受字符型的数据,将特征中的字符型数据进行处理,该部分使用了get_dummies(),get_dummies就是OneHotEncoder类型编码。

关于什么时候用OneHotEncoder独热编码和LabelEncoder标签编码? 特征的属性小于等于3
,用OneHotEncoder,比如:天气、性别 ,属于无序特征 特征的属性大于3,用LabelEncoder,比如:星期属于有序型

  1. 接下来是模型的训练,对于二分类分题,一般首选逻辑回归。在这一步要确定好评价的指标,为了实现利润最大化,这里采用了TPR(True positive rate)和FPR(False positive rate)作为评价指标。
  2. 分析需求,及分析客户信贷的目的是赚取有能力偿还贷款客户的利息。

1)第一个实际值为0,客户不会还钱,模型预测客户能还钱,为1
,假设系统贷给了客户1000块钱,但是一分都没还,说明预测错了为阴性,赔了1000块钱
2)第二个实际值为1,客户有偿还能力,模型预测客户有能力偿还,就挣了客户的利息钱,1000*0.1 =100块钱
3)第三个实际值为0,本来客户是不还钱的,模型预测不还钱,并且没有贷款给他 4)第四个客户能还钱,模型预测客户不能还 ,没有贷款给他

  1. 建立混淆矩阵,并计算TPR和FPR,本质上期望TPR越高越好,FPR越低越好
  2. 分析得到的预测结果,发现预测结果中错误率和正确率都达到99.9%,错误率太高,判断原因是因为正负样本不均衡导致,于是需要进行数据增强或者自定义权重。
  3. 考虑权重后再使用逻辑回归进行训练。

2.利用LendingClub数据建模

来自 https://zhuanlan.zhihu.com/p/21550547
文章发布于2016-07-11

该篇文章主要写的也是信用风险模型相关,该文章发表的时间比较早,使用的数据是Lending Club2015年下半年的数据,总共有269000条,数据字段有117个。

  1. 第一步是数据预处理。在数据预处理方面作者没有细讲,主要的预处理有:
    1)贷后的相关变量除了target变量,其余直接剔除,因为贷后表现在客户申请时是没有的,如果进入模型实际上就成了未来变量;
    2)缺失率太高的变量直接剔除,本文是按65%的阈值来剔除的;
    3)数值变量中所有值方差太小接近常量的变量剔除,因为不能提供更多信息;
    4)按业务逻辑完全不可解释的变量直接剔除,
    5)分类变量中unique值大于20的直接剔除;
    6)将object类型数据转换成数值类型;
    7)缺失值单独当作一类,填充-999。
  2. 对数据进行预处理后,作者采用了GBDT进行特征重要性的计算。
  3. 接下来就是对一些数据进行了可视化,包括FICO分,住房性质,贷款用途,收入水平等。
  4. 然后进行WOE编码(PS:这一块不太懂,统计指标,包括IV,GINI,KS,AUC,PSI等)。
  5. 最后使用Python中的Statsmodels跑逻辑回归。
    这个作者的前面几篇文章还介绍了一些数据分析相关的知识,也可以了解一下。

3.使用sklearn做特征工程

来自 https://note.youdao.com/ynoteshare1/index.html?id=cad1ae323c16c3038c9169f8c647c31b
文章发布于2017.03.11

这篇文章主要介绍了一下如何使用sklearn进行特征工程,主要分为4部分
1.特征工程是什么?(图不清楚可以点击点接进作者的笔记)
在这里插入图片描述
2.数据预处理

使用的是sklearn中的preproccessing库。
在这里插入图片描述
3.特征选择

使用的是sklearn中的feature_selection库。
在这里插入图片描述
4.降维
分别使用decomposition库的PCA类和lda库的LDA类
在这里插入图片描述
还有一些相关网站:
信贷案例数据分析——python
来自 https://zhuanlan.zhihu.com/p/78647447
文章发布于2019.08.19

坚持,坚持,坚持就是胜利,不抛弃,不放弃。
你现在所碰到的一些问题在现在的你眼中看起来可能很难很大,但是过了几年再回过头来看的时候就会发现其实也能挺过去不是,所以,你肯定能处理好现在碰到的这些问题,并且一直向前,一直向前。
你要学习,你要学习,你要学习【日常催眠…】
在这里插入图片描述