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

数据来自Kaggle的Give Me Some Credit,有15万条的样本数据,网上的分析说明有很多,本人结合其他大佬的方法,对数据进行细致的分析,主要分析在EDA环节,之后尝试使用toad这个评分卡的库,以及使用quct结合卡方检验分箱的方法,使用AUC和KS,结合交叉验证对比分析哪个效果更好。

目录

由于整篇文章的篇幅过长,因此分为上下两部分。

  • 上篇
    1. 理解数据
    2. 探索性数据分析
    3. 数据预处理
    4. 特征工程
  • 下篇
    1. 使用toad进行woe分箱,并进行模型评估
    2. 手写卡方分箱,并进行模型评估
    3. 评分卡建立


1.1背景介绍

银行领域评分卡一般分为四种,A、B、C、F卡:

A卡表示为贷前评分卡。

B卡表示为贷中评分卡。

C卡表示为贷后评分卡。

F卡表示为反欺诈评分卡。

1.2基本的项目流程

典型的信用评分模型主要的开发流程如下所示:

(1)数据获取,包括获取存量客户及潜在客户的数据。存量客户是指已经在证劵公司开展相关融资业务的客户,包括个人客户和机构客户;潜在客户是指

(2)数据预处理,主要工作包括数据清洗,缺失值处理,异常值处理,主要是为了将获取的原始数据转化为可用作模型开发的数据。

(3)EDA探索性数据分析,该步骤主要是获取样本总体的大概情况,描述样本总体情况的指标主要有直方图和箱线图等等。

(4)变量选择,主要是通过统计学的方法,筛选出对违约状态影响最显著的指标。常见的特征筛选方法,一般分为三种:过滤法、嵌入法、包装法。过滤法一般采用sklearn当中的方差过滤和卡方过滤。嵌入法是一种让算法自己决定使用哪些特征的方法。包装法和嵌入法很像,但包装法需要使用一个目标函数作为黑盒来帮助选择特征。一般来说对于评分卡模型,还会使用woe值和IV值筛选特征。

(5)模型开发,该步骤主要包括变量分段、变量的WOE(证据权重)变换和逻辑回归估算三部分。

(6)模型评估,一般评分卡中常用的评估方法,有Accuracy计算准确性、画出ROC曲线、计算AUC数值、还有KS值、最后做一个交叉验证看模型的稳定性。

(7)最后一步就是形成评分卡

2.1数据获取

## 导入库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression as LR  ##调用sklearn逻辑回归
from imblearn.over_sampling import SMOTE  ## 处理数据不平衡问题
import seaborn as sns
# 画图显示中文
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
data = pd.read_csv(r"rankingcard.csv",index_col = 0) ##首先导入训练集数据
test = pd.read_csv(r"cs-test.csv",index_col = 0)  ##导入测试集数据

2.2探索数据

#观察数据类型
data.head()

## 查看训练集数据
test.head()

  

# 观察数据维度
print(data.shape)
print(test.shape)
(150000, 11)
(101503, 11)
data.info()   ##查看里面的基本情况,字符类型以及缺失值情况

下面可以看到数据的大致情况。数据属于个人消费类贷款,只考虑信用评分最终实施能够使用到的数据应从如下一些方面获取数据:

基本属性:包括借款人当时的年龄。

偿债能力:包括了借款人的月收入、负债比率。

信用往来:两年内35-59天逾期次数、两年内60-89天逾期次数、两年内90天或以上的逾期次数

财产状况:包括了开放式信贷和贷款数量、不动产贷款或额度数量

贷款属性:暂无

其他因素:包括了借款人的家属数量(不包括本人在内)

时间窗口:自变量的观察窗口为过去两年,因变量表现窗口为未来两年。

标签如下所示:

SeriousDlqin2yrs:指在过去两年中至少有一次逾期90天或更长时间的信用违约情况。是本数据集的目标变量。

RevolvingUtilizationOfUnsecuredLines:指信用卡和个人信贷余额与可用信贷额度之比。

age:指借款人的年龄。

NumberOfTime30-59DaysPastDueNotWorse:指在过去两年中出现了30-59天的逾期但没有更严重的逾期情况的次数。

DebtRatio:指负债比率,即每月债务支付、赡养费用和生活费用除以每月总收入。

MonthlyIncome:指借款人的月收入。

NumberOfOpenCreditLinesAndLoans:指借款人未偿还的信用额度。

NumberOfTimes90DaysLate:指在过去两年中出现了90天或更长时间的逾期情况的次数。

NumberRealEstateLoansOrLines:指不包括家庭住房在内的房地产贷款和额外的抵押贷款次数。

NumberOfTime60-89DaysPastDueNotWorse:指在过去两年中出现了60-89天的逾期但没有更严重的逾期情况的次数。

NumberOfDependents:指借款人在家庭中需要抚养的家属人数。

##去除重复值,注意去除的是重复的行,因为对于150000行的数据,
##存在两组完全一样的数据几乎不太可能,有可能是录入错误
data.drop_duplicates(inplace = True)   ##删除重复值,并且替换
data.info()

 

##删除后一定要记得恢复索引!
data.index = range(data.shape[0])

2.3 EDA 探索性数据分析

2.3.1 缺失值分析

##探索一下模型的缺失值
data.isnull().sum()   ##用isnull语句+sum语句,返回布尔值相加,得到每列缺失值的数目
data.isnull().sum()/len(data)  ##判断每一列缺失值所占的比值

2.3.2 数据平衡性

## 画饼图
figure,ax = plt.subplots(figsize = (12,4))
data.SeriousDlqin2yrs.value_counts().plot.pie(autopct = '%1.1f%%')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值