使用Python创建申请评分卡

论坛 期权论坛 期权     
京城木心   2019-7-27 14:24   2143   0

      在上篇文章中,介绍了使用R语言创建申请评分卡以及授信额度策略的内容,本篇文章将介绍使用Python创建申请评分卡,数据依然采用上篇文章的数据,查看上篇文章请点击链接使用R语言创建申请评分卡及授信额度策略
一、导入数据,导入要使用的包
  1. import pandas as pd
复制代码
  1. import numpy as np
复制代码
  1. from pandas import Series,DataFrame
复制代码
  1. import scipy.stats.stats as stats
复制代码
  1. from scipy import stats as ss
复制代码
  1. import statsmodels.api as sm
复制代码
  1. import math
复制代码
  1. import seaborn as sns
复制代码
  1. from sklearn.ensemble import RandomForestRegressor
复制代码
  1. from sklearn.model_selection import train_test_split
复制代码
  1. import matplotlib.pyplot as plt
复制代码
  1. from pylab import mpl
复制代码
  1. import matplotlib
复制代码
  1. from sklearn.metrics import roc_curve, auc
复制代码
  1. import copy
复制代码
  1. import warnings
复制代码
载入数据
data = pd.read_csv('cs-training.csv')
查看数据的基本情况




二、缺失值、异常值处理
      从数据概述可以看出,NumberOfDepents缺失值较少,可以删去,MonthlyIncome缺失值较多,需要插补,可以用随机森林插补,中位数,均值插补都可以,本文采用中位数插补。
中位数插补
data['MonthlyIncome'].fillna(data['MonthlyIncome'].median())
删去较少的缺失值
data.dropna()
缺失值处理完的数据为如下


年龄等于0的异常值进行剔除
data = data[data['age'] > 0]
通过做箱线图查看异常值








采用盖帽法处理异常数据
RevolvingUtilizationOfUnsecuredLines,DebtRatio都为百分比,需要对大于1的值删去


删除后数据显示



查看各变量的相关性




三、数据建模
    对数据分区,进行建模,分别使用决策树、随机森林、支持向量机、逻辑回归算法建立模型。评估模型的好坏。
使用决策树建模


使用支持向量机建模


使用逻辑回归建模


使用随机森林建模


比较这几种模型的roc曲线


比较发现逻辑回归的AUC值最大,预测效果最好,正确率较高。
四、变量分箱与WOE转换
    变量分箱的原因是为了评分结果有一定的稳定性,对于取值较多的类别变量,如果不分箱,将会导致变量膨胀,比如对于省份的变量,将产生30多个变量。分箱方法有很多,等宽、等深、卡方分箱,最优分箱等等,本文采用最优分箱。
分箱后结果:




各变量的IV值为:


一般认为,IV值≥0.2,有较高的重要性,介于0.1到0.2之间,有较弱的重要性,IV值≤0.1,几乎没有重要性。从上图看出,只有5个变量IV值较高,其余的IV值较低的变量,在评分卡模型中剔除。   
将变量转换为WOE值


使用IV值大的变量建立模型,模型解释为:


模型预测的ROC曲线,AUC值为0.84。


根据模型结果,各变量的相关系数,求各变量的评分。
coe=[9.2771,0.6494, 0.4997,1.0472,1.6704,1.0355]
取600分为基础分值,PDO为20(每高20分好坏比翻一倍),好坏比取20。
p = 20 / math.log(2)
q = 600 - 20 * math.log(20) / math.log(2)
baseScore = round(q + p * coe[0], 0)
各变量对应的评分为:


带入到原始数据中,最终求出每个客户的总的评分

以上为使用python建立评分卡模型,之后就可以根据客户的得分,设置授信准入线,将客户评分设分成不同等级,在做其他方面的应用,每家公司使用的授信额度策略各不相同,但都是以评分模型为基础,再结合客户的其他指标,对客户进行风险评级。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:5
帖子:1
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP