查看全文:http://tecdat.cn/?p=27949
作者:Youming Zhang
随着互联网经济的迅猛发展,集体信贷规模在近年来出现了爆炸式增长。信用风险 管控始终是金融机构钻研的热点问题。信贷守约预测指标包含两个方面。其一是为了使 债务人通过模型来进行财务方面良性的决策。其二是债权人能够通过模型预测贷款人是 否会贷款后陷入财务方面的窘境。咱们以 LendingClub 信贷平台上的数据作为信贷数 据样本,结构一个经典的传统信贷申请评分卡模型和随机森林预测模型帮忙咱们决策是否放贷。其中数据集 24 万条数据,59 个特色。
解决方案
工作 / 指标
依据申请贷款人的各项指标数据,咱们通过机器学习算法解决放贷与不放贷的二分类问题。
数据源筹备
在着手解决数据之前,咱们先理解一下根本的数据状况,为接下来的数据预处理,
特色工程和建模做筹备。首先咱们明确指标特色为 loan_status,原数据集中 fully paid 表
示贷款齐全结清,charged off 示意坏账登记。为了前期使用逻辑回归算法的不便,咱们
间接将其转换成数值变量,用 1 来示意守约,0 示意失常偿还。
数据摸索
因为咱们应用的算法为基于逻辑回归的评分卡和随机森林模型,特色之间的线性相关性会对模型建设的环节有所影响,所以利用热力求展现一下特色之间的相关性。
图中色彩越浅的局部,对应两两元素的相关性越强。咱们在预处理和特色工程步骤对其须要着重解决。
数据预处理
对于缺失值,咱们抉择删除缺失值超过 80% 的特色,没有超过阈值的用众数补充。对于同值性变量,咱们抉择将大于 95% 的变量删除。因为异样值不多,所以那一行数据抉择间接删除。由下图能够看出这是一个不均衡样本。
咱们应用 Smote 上采样算法,使其均衡。
最初咱们将数值型特色 emp_length,home_ownership,verification_status,term,addr_state,purpose 进行 LabelEncoder 编码。
特色 工程
咱们晓得特色之间存在共线性,利用 VIF 和 COR 两个系数筛选,咱们失去新的热力求如下。可见共线性状况有很好的改善。
接着对特色进行最大 IV 值分箱,同时删除 IV 值较小的特色。最初失去局部间断特色的分箱后果如下。
将分箱后果 WOE 化,这样能够得悉分箱之间的实质性距离间隔。
划分训练集和测试集
咱们应用 sklearn 中算法将数据集进行划分,训练集用来模型的拟合. 验证集用来回
归调参数,测试集用来测试模型的预测能力。
建模
简化评分卡模型
此处的翻新点在于简化评分卡模型思维的构建,咱们简化的局部在于不去生成评分卡,而是利用评分卡模型中对特色进行 WOE 变换的一个核心思想,将它和逻辑回归模型相结合,从而失去一个简化评分卡模型。
特色解决的形式有很多,咱们抉择 WOE 变换,这是因为 WOE 变换后的变量和逻辑回归线性表达式成枯燥关系,这样更加好的掂量组与组之间的数量分割。
随机森林
用随机的形式建设一个森林,森林由很多决策树组成,随机森林的每一棵决策树之间是没有关联的。在失去森林之后,当有一个新的输出样本进入的时候,就让森林中的每一棵决策树别离进行一下判断,看看这个样本应该属于哪一类(对于分类算法),而后看看哪一类被抉择最多,就预测这个样本为那一类。
简化评分卡
咱们将分箱失去的每个特色 woe 值代替数据集中特色自身的值。并用逻辑回归模型
进行分类,失去的模型后果准确率达到了 0.7 以上,AUC = 0.78,ks=0.41 阐明模型预测
能力强。同时咱们在验证集上实现了学习曲线,发现并没有显著晋升模型的准确率,在
十次调用后只将准确率晋升了 0.02。
随机森林
随机森林是以决策树为弱学习模型通过 bagging 办法结构出的强学习模型。它能容
纳更多的信息,同时通过多模型的投票很好的防止了过拟合的影响。这一模型作为评分
卡的参考。咱们用 n 示意底层决策树的个数,一般来说,树的个数越多,模型的稳定性
越强,但对计算性能也有很高的要求。在这里咱们构建的树的个数为 41 棵,失去模型
的后果准确率达到了 90.9%,AUC 达到了 0.93,ks 达到了 0.82,分类后果非
常好。
对于作者
在此对 Youming Zhang 对本文所作的奉献示意诚挚感激,他善于 机器学习、特色工程、数据预处理。
最受欢迎的见解
1.PYTHON 用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯模型和 KMEANS 聚类用户画像
2.R 语言基于树的办法:决策树,随机森林
3.python 中应用 scikit-learn 和 pandas 决策树
4.机器学习:在 SAS 中运行随机森林数据分析报告
5.R 语言用随机森林和文本开掘进步航空公司客户满意度
6. 机器学习助推快时尚精准销售工夫序列
7. 用机器学习辨认一直变动的股市情况——隐马尔可夫模型的利用
8.python 机器学习:举荐零碎实现(以矩阵合成来协同过滤)
9.python 中用 pytorch 机器学习分类预测银行客户散失