数据挖掘项目:金融银行风控信用评分卡模型(下篇)

以下是银行信用评分卡建模分析下篇的内容,包括采用两种方法进行数据分箱,然后构建模型,进行模型评估,最后评分卡建立这四部分。其中如果有一些地方分析的不正确,希望大家多多指正!

上篇文章链接数据挖掘项目:金融银行风控信用评分卡模型(上篇)

首先在分箱之前分训练集和测试集。

3 分训练集和测试集

from sklearn.model_selection import train_test_split
X = pd.DataFrame(X)
y = pd.DataFrame(y)

X_train,X_vali,Y_train,Y_vali = train_test_split(X,y,test_size = 0.3,random_state = 420)
model_data = pd.concat([Y_train,X_train],axis = 1)

 这样合并出来的数据序号是有问题的,所以对数据序号进行重新排列

model_data.index = range(model_data.shape[0])
model_data.columns = data.columns

## 测试集
vali_data = pd.concat([Y_vali,X_vali],axis = 1)
vali_data.index = range(vali_data.shape[0])
vali_data.columns = data.columns

4.1使用toad数据分箱

我们要制作评分卡,是要给各个特征进行分档,以便业务人员能够根据新客户填写的信息为客户打
分。因此在评分卡制作过程中,一个重要的步骤就是分箱。分箱的目的是对连续变量进行分段离散化,或者对多状态的离散变量进行合并,减少离散变量的状态数。

有监督分箱:主要为卡方分箱和Split分箱等。

无监督分箱:等宽分箱,等频分箱,聚类分箱等

用来制作评分卡,最好能在 4~5 个为最佳。我们知道,离散化连续变量必然伴随着信息的损失,并且箱子越少,
信息损失越大。为了衡量特征上的信息量以及特征对预测函数的贡献,银行业定义了概念 Information value(IV)

其中 N 是这个特征上箱子的个数, i 代表每个箱子, good%是这个箱内的优质客户(标签为0 的客户)占整个特征中所有优质客户的比例,bad%是这个箱子里的坏客户(就是那些会违约,标签为1 的那些客户)占整个特征中所有坏客户的比例,而WOEi则写作:

这是我们在银行业中用来衡量违约概率的指标,中文叫做证据权重 (weight of Evidence) ,本质其实就是优质客户比上坏客户的比例的对数。WOE 是对一个箱子来说的, WOE 越大,代表了这个箱子里的优质客户越多。而 IV 是对整个特征来说的,IV 代表的意义是我们特征上的信息量以及这个特征对模型的贡献,由下表来控制:
IV 特征对预测函数的贡献
<0.03
特征几乎不带有效信息,对模型没有贡献,这种特征可以被删除
0.03~0.09
有效信息很少,对模型的贡献度低
0.1~0.29
有效信息一般,对模型的贡献度中等
0.3~0.49
有效信息较多,对模型的贡献度较高
>=0.5
有效信息非常多,对模型的贡献超高并且可疑
可见, IV 并非越大越好,我们想要找到 IV 的大小和箱子个数的平衡点。箱子越多,IV必然越小,因为信息损失会非常多,所以,我们会对特征进行分箱,然后计算每个特征在每个箱子数目下的WOE 值,利用 IV 值的曲线,找出合适的分箱个数。 在做评分卡的时候,会使用iv值对特征进行筛选,toad库中集成了这样的函数。
在了解完WOE和IV值之后,在分箱的时候往往会看每个箱子WOE值的单调性,这里就有一个问题,为什么需要看WOE值的单调性?

使用toad库

## 首先对特征进行特征筛选,删除IV值小于0.02,并且相关性大于0.7的特征
import toad
train_selected, dropped = toad.selection.select(data,target = 'SeriousDlqin2yrs', empty = 0.5, iv = 0.02, corr = 0.7, return_drop=True, exclude=[])
print(train_selected.shape)
(149165, 12) 可以看出没有被删除的特征
# WOE编码
combiner = toad.transform.Combiner()
# 训练数据并指定分箱方法

combiner.fit(pd.concat([Y_train,X_train], axis=1), y='SeriousDlqin2yrs',method= 'chi',min_samples = 0.05,exclude=[])

train_adj = combiner.transform(pd.concat([Y_train,X_train], axis=1))

使用toad这个库进行分库时间用了很久,因为之前为解决数据不平衡我对数据使用了SMOTE算法,训练集有195008行,12列。

# 以字典形式保存分箱结果

bins = combiner. Export()

bins

 可以看出使用toad的分箱,他的有些结果很奇怪。比如Revol中0.99999还要单独分出来,60-89天逾期特征只分了一箱等等,使用toad帮我们分好的箱子检查一下woe单调性,之后再结合业务知识手动调整。

分完箱之后计算woe(检查单调性)

hand_bins = {k:[-np.inf,*v[:-1],v[-1],np.inf] for k,v in bins.items()}
hand_bins
{'RevolvingUtilizationOfUnsecuredLines': [-inf,
  0.018440045386342675,
  0.06852667745187024,
  0.1290432099118924,
  0.2144586087447884,
  0.38627962705315877,
  0.5328138193520311,
  0.656326274,
  0.8503623774409887,
  0.9999999,
  1.0000010703936
  • 4
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 智能风控,即利用人工智能技术对风险进行预测和管理,是当前金融行业的趋势之一。评分建模是一种常用的智能风控技术之一,它通过统计学和机器学习算法来挖掘数据中的规律,帮助金融机构评估借款人的信用风险和能力,从而更好地管理风险。 对于智能风控专业人士和研究者来说,评分建模pdf下载是非常有价值的资源。这种评分建模文件通常包括模型构建的步骤和方法、建模涉及的变量、评分的分值规则以及模型的评测指标等内容,有助于科学家和研究人员在建立随机变量之间关系的过程中更加高效和准确。对于那些希望学习智能风控建模的人来说,这些信息可以提供一个详细和全面的指南,让他们更好地理解风险管理和数据挖掘的工具和技术。 总之,评分建模pdf下载是一个非常有用的工具和资源,可以协助金融机构和科学家有效地进行风险管理和预测,也可以帮助那些想要学习智能风控技术的人更深入地了解这门技术。 ### 回答2: 智能风控是指利用人工智能技术来进行风险控制和评估的一种技术手段,通过对大量数据的收集和分析,来识别和预测潜在的风险因素,并采取有效的措施进行管理和控制。 评分建模是其中的一种关键技术,通过对各种数据指标的分析和挖掘,建立起一个能够快速判断借款人信用状况的评分系统。下载智能风控评分建模PDF,可以帮助理解如何采用评分建模方法构建风险评估模型,并且了解如何分析和运用数据来进行风险控制。 评分建模pdf的内容主要包括评分建模概述、评分建模过程、评分建模中的核心技术、评分建模中的策略选择和评分建模的风险管理等内容,涵盖了评分建模全流程。同时,该资料还提供了具体应用案例,可供实际运用时参考。 在现代金融业中,智能风控评分建模已经逐渐成为行业标准,对于金融机构的风险控制和借贷业务管理都具有重要意义。下载智能风控评分建模PDF,能够更好地了解该技术应用的实际场景和技术要点,对金融行业从业者来说具有很高的参考价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值