您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

5b51 2022/1/14 8:24:51 python 字数 10810 阅读 704 来源 www.jb51.cc/python

项目介绍 此项目为kaggle竞赛平台的givemesomecredits。其目的是预测银行用户违约概率,以辅助银行判断是否要对用户进行放贷。关于风险控制建模的大致流程可参考以下链接:

概述

项目介绍

此项目为kaggle竞赛平台的give me some credits。其目的是预测银行用户违约概率,以辅助银行判断是否要对用户进行放贷。关于风险控制建模的大致流程可参考以下链接

此项目提供样本数量多,但变量特征比较少,相比实际业务的开展肯定是远远不够的。但是作为入门风控建模,了解建模开发流程却是个不错的选择。项目拟使用所提供的数据集建立一个申请评分卡(A卡),并可以对用户自动评分。

本项目仅供学习使用,对于业务指标不进行过多考虑,而侧重于建模的技术方面。

进群:548377875   即可获取数十套PDF哦!

数据探索

和之前的套路一样,建模前的数据探索十分重要,发现数据分布特征,数据联系和内在规律等。首先导入数据后观察数据缺失值,异常值,分布规律等。

# 导入数据集,合并训练数据和测试数据
data_train = pd.read_csv('cs-training.csv')
data_test = pd.read_csv('cs-test.csv')
# df = data_train.append(data_test)

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

age特征分布

f,[ax1,ax2]=plt.subplots(1,2,figsize=(20,8))
sns.distplot(data_train['age'],ax=ax1)
sns.Boxplot(y='age',data=data_train,ax=ax2)
plt.show()

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

年龄异常值上限为:96.0,下限为:8.0,上届异常值占比:0.03 %,下届异常值占比:0.00067 %。

结论

再看一下age特征对目标变量的影响,将age划分为几个年龄段,然后绘制出各个年龄段的违约率。

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

Revol特征

f,ax=plt.subplots(figsize=(10,5))
plt.scatter(data_train['Revol'],data_train['age'],color='g')
plt.show()

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

结论:这个特征值是百分比。含义是:除了房贷车贷之外的信用卡账面金额(即贷款金额)/信用卡总额度。实际上,这个特征值大部分情况是小于1的,因为超出额度属于透支。但是我们发现有很多特征值已经达到了几万,这在实际中是不可能的。推测很有可能是没有除以分母信用卡额度,而是分子的纯信用卡账面贷款金额。

观察一下Revol特征各个分段下的分布情况。

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

观察到现象:

下面来深入研究一下大于1的特征值对坏账率有什么影响,以及找到透支的阈值。

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

通过上面观察:Revol特征值在10到100之间中,坏账客户的值多在10到20之间,并且其相应的DebtRatio也很高。而其他Revol特征值高(>20)的但DebTradio低的并不是坏账客户。因此,推测可能的异常值阈值(即透支的上限)在20-30左右。

下面我们通过具体数据来确定具体的阈值在哪。

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

根据观察的现象,我们可以看到:

0-1之间的坏账率为5.99%。按理说,随着比例升高,坏账率也应该升高,尤其是在透支的情况下。在1-30区间内,已经属于透支状态,坏账率39%,达到了最高。但是透支是不可能无限升高的,会有个阈值。 从30到100区间,坏账率开始下降,坏账率开始下降恢复正常,说明30左右的值(即3000%左右)可能就是正常透支的阈值。

因此,将数值超过30的都定义为异常值,并将大于30的值与0-1之间合并。

NumDependents特征

f,5))
sns.countplot(x='NumDependents',hue='IsDlq',ax=ax)
plt.show()
print('Dependents为0的概率为:{0}%'.format(round(data_train[data_train['NumDependents']==0].shape[0]*100/data_train.shape[0],2)))

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

发现:NumDependents的缺失值为6550个,而NumDependents和MonthlyIncome同时缺失的数量也是6550个。

结论:

我们想要通过找相似的方法来填补缺失的Dependents,因为有以上结论,所以我们观察一下MonthlyIncome缺失,但NumDependents不缺失的样本是如何的。

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

MonthlyIncome特征

f,5))
sns.kdeplot(data_train['MonthlyIncome'],ax=ax1)
sns.Boxplot(y='MonthlyIncome',ax=ax2)
plt.show()

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

Num30-59 | 60-89 | 90 late特征

f,[ax,ax1,3,5))
# sns.Boxplot(y=['Num30-59late','Num90late'],data=df,ax=ax)
ax.Boxplot(x=data_train['Num30-59late'])
ax1.Boxplot(x=data_train['Num60-89late'])
ax2.Boxplot(x=data_train['Num90late'])
ax.set_xlabel('Num30-59late')
ax1.set_xlabel('Num60-89late')
ax2.set_xlabel('Num90late')
plt.show()

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

DebtRatio

同Revol使用的方法一样,由于存在大量的异常值,固也对其进行了分段来分析坏账率的特点。这部分分箱的观察分布对于后续的woe计算转化很有帮助,当然这些特征指标的分箱也要结合实际业务理解来划分。

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

结论:将debtratio>2的都视为异常值,并将这些异常值与0-1之间的debtratio分为一组。

NumEstate特征

f,5))
sns.kdeplot(data_train['NumEstate'],ax=ax1)
sns.Boxplot(y='NumEstate',ax=ax2)
plt.show()

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

NumOpen特征

data_train.loc[(data_train['NumOpen']>=36),'NumOpen'] = 36
NumOpenDlq = data_train.groupby(['NumOpen'])['IsDlq'].sum()
NumOpenAll = data_train.groupby(['NumOpen'])['IsDlq'].count()
NumOpenGroup = NumOpenDlq/NumOpenAll
NumOpenGroup.plot(kind='bar',figsize=(10,5))
NumOpenDf = pd.DataFrame(NumOpenDlq)
NumOpenDf['All'] = NumOpenAll
NumOpenDf['BadRate'] = NumOpenGroup
NumOpenDf

开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K

总结

由于特征数量比较少,所以对每个特征都进行了简单的探索。当然这些这些都只是单变量分析,旨在初步了解特征分布特点和一些通用的规律。由于内容较多固设置为一篇介绍。

下一篇将介绍如何进行介绍:

1. 如何从做woe转化

2. 利用iv值进行筛选变量

3. 变量是如何衍生的

4. 如何使用auc评估模型

5. 建模参数调节和样本不均衡处理

6. 最后又是如何生成相应的评分卡

需要代码请单独私信小编即可

总结

以上是编程之家为你收集整理的开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K全部内容,希望文章能够帮你解决开发了网贷信用评分项目!各大网贷公司纷纷抛出橄榄枝!月薪30K所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶