逻辑回归算法之如何实现客户逾期还款业务

一、项目背景

贷款申请人向p2p平台申请贷款时,p2p平台通过线上或线下让客户填写贷款申请表,收集客户的基本信息,同时会借助第三方平台如征信机构的信息。通过这些信息属性来做逻辑回归生成预测模型,平台可以通过预测判断贷款申请是否会违约,从而决定是否向申请人发放贷款。
数据集特征
在这里插入图片描述

二、逻辑回归

一句话概括:逻辑回归就是将线性模型的输出值通过Sigmoid函数处理,将输出值定位在(0,1)之间,用于二分类的任务。它不仅能够预测出类别,还能得到属于某个类别的概率预测。

2.1 数据预处理

2.1.1导入数据

2.1.1导入数据

2.2.2 总共有(39535,111),先删掉缺失值超过一半的列,并且初步删掉对建模无用的特征。

2.2.2

2.2.3 还剩32个特征,在原始数据中,没有0或者1的还不还款的特征,但是有“loan status”这个特征,意思是当前“贷款的状态”,来作为分类的变量y。

Fully Paid:批准了客户的贷款,后面给他打个“1”
Charged Off:没有批准了客户的贷款,后面给他打个“0”
这里用逻辑回归实现二分类的问题,还有一些不确定的属性就不要这些属性了。
在这里插入图片描述

2.2.4在原始数据中的特征值或者属性里都是一样的,对于分类模型的预测是没有用的,某列特征都是n n n NaN n n ,有缺失的,唯一的属性就有2个,用pandas算法空值给去掉

在这里插入图片描述

2.2.4查看哪些列存在缺失值的,少量样本缺失的直接干掉这些缺失行。

在这里插入图片描述

2.2.5 sklearn只接收数值类型的,开始处理字符类型数据,有12个类型数据是字符类型的。

在这里插入图片描述
在这里插入图片描述

2.2.6 有%号类型的需要转换为浮点数,emp_length用map函数映射成整型,删掉一些没有用的特征,剩下的特征使用哑变量处理(或者使用独热编码)

在这里插入图片描述

2.2.7 处理好数据使用info查看下表信息,全部转换为数值类型的数据,下面开始建模

2.2 使用sklearn模块来实现

2.2.1 导入LR模块,将数据分为训练样本和测试样本,进行拟合。

在这里插入图片描述

2.2.2 模型评估,通过绘制混淆矩阵,来查看模型的拟合效果。

在这里插入图片描述
在这里插入图片描述

2.2.3 可以看出,模型的效果并不理想,测试集上为负例的样本有1100,模型为负例预测为正例的错误样本有1099,这些人不会还钱,但还是贷给他了。很有可能是因为样本不均衡造成的,数据集(1: 33693,0: 5612)。解决样本不均衡的问题:1、可以通过指定因变量类别的权重,,将少的样本的权重增大,期望模型能够达到比较均衡的状态。class_weight参数可以调节;2、可以通过采样来造数据,基于一种线性插值的算法,在少的样本中找到k个距离近的样本,在k个样本中随机选择一个样本,循环迭代直到满足要求为止。

在这里插入图片描述

这里使用升采样的方式来尝试,引入imblearn模块,代码块:

在这里插入图片描述

2.2.4输出评估指标,并且绘制一下roc曲线

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.5随着阈值的不断降低,ROC曲线下的面积为0.66,fpr(真正例)的增长比tpr(假正例)明显增长要快,没有对模型进行不平衡处理之前,roc曲线下的面积为0.57,模型有了一定的提高,模型预测正例的f1-score值为0.66,模型效果可见还是一般。

三、小结:以上案例不是着重给出一个正确率的预测模型,只是给出使用逻辑回归建模的一般流程,分为两大部分:数据处理和模型学习,第一部分需要大量的时间来进行了对原始数据进行清理及特征提取,第二部分模型学习,涉及长时间的模型参数调整,模型效果不理想时,可以考虑的调整策略:

1.收集真实样本数据集,保证数据集均衡,这种比较困难,可以调节正负样本的权重参数。
2.更换模型算法。
3需要对特征进行选择,可以使用交叉验证。
4.调整模型参数。
5使用原数据,生成新特征。等等

数据集链接:https://pan.baidu.com/s/1OCrA5hhRniwhkCwt7xsaCQ
提取码:yubn

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值