中国统计网Python实战:信用评分模型开发「Part 2」( 二 )

输出结果:
中国统计网Python实战:信用评分模型开发「Part 2」
本文插图
ROC曲线
从上图可知 , AUC值为0.85 , 说明该模型的预测效果还是不错的 , 正确率较高 。
7
信用评分
我们已经基本完成了建模相关的工作 , 并用ROC曲线验证了模型的预测能力 。 接下来的步骤 , 就是将Logistic模型转换为标准评分卡的形式 。
1.评分标准
中国统计网Python实战:信用评分模型开发「Part 2」
本文插图
依据以上论文资料得到:

  • a=log(p_good/P_bad)
  • Score = offset + factor * log(odds)
在建立标准评分卡之前 , 我们需要选取几个评分卡参数:
  • 基础分值
  • PDO(比率翻倍的分值)
  • 好坏比
这里 ,我们取600分为基础分值 , PDO为20 (每高20分好坏比翻一倍) , 好坏比取20 。
# 我们取600分为基础分值 , PDO为20(每高20分好坏比翻一倍) , 好坏比取20 。 z =20 / math.log(2)q =600 -20 * math.log(20) / math.log(2)baseScore = round(q + p * coe[0],0)个人总评分=基础分+各部分得分
2.部分评分
下面计算各变量部分的分数 。 各部分得分函数:
#计算分数函数 def get_score(coe,woe,factor): scores= for w in woe: score=round(coe*w*factor,0) scores.append(score) return scores计算各变量得分情况:
# 各项部分分数x1 = get_score(coe[1], woex1, p)x2 = get_score(coe[2], woex2, p)x3 = get_score(coe[3], woex3, p)x7 = get_score(coe[4], woex7, p)x9 = get_score(coe[5], woex9, p)我们可以得到各部分的评分卡如下图所示:
中国统计网Python实战:信用评分模型开发「Part 2」
本文插图
各变量的评分标准
8
自动评分系统
根据变量来计算分数 , 实现如下:
#根据变量计算分数def compute_score(series,cut,score): list =i =0 while i <len(series): value = http://news.hoteastday.com/a/series[i] j =len(cut) -2 m =len(cut) -2 while j >=0: if value >= cut[j]: j = -1 else: j -=1 m -=1 list.append(score[m]) i +=1 return list我们来计算test里面的分数:
test1 = pd.read_csv('TestData.csv')test1['BaseScore']=Series(np.zeros(len(test1)))+baseScoretest1['x1'] = Series(compute_score(test1['RevolvingUtilizationOfUnsecuredLines'], cutx1, x1))test1['x2''age'], cutx2, x2))test1['x3''NumberOfTime30-59DaysPastDueNotWorse'], cutx3, x3))test1['x7''NumberOfTimes90DaysLate'], cutx7, x7)test1['x9''NumberOfTime60-89DaysPastDueNotWorse'], cutx9, x9))test1['Score'] = test1['x1'] + test1['x2'] + test1['x3'] + test1['x7'] +test1['x9'] + baseScoretest1.to_csv('ScoreData.csv',index=False)批量计算的部分分结果:
中国统计网Python实战:信用评分模型开发「Part 2」
本文插图
批量计算的部分结果
9
总结及展望
【中国统计网Python实战:信用评分模型开发「Part 2」】本文通过对kaggle上的Give Me Some Credit数据的挖掘分析 , 结合信用评分卡的建立原理 , 从数据的预处理、变量选择、建模分析到创建信用评分 , 创建了一个简单的信用评分系统 。 基于AI的机器学习评分卡系统可通过把旧数据(某个时间点后)剔除掉后再进行自动建模、模型评估、并不断优化特征变量 , 使得系统更加强大 。


推荐阅读