type
status
date
slug
summary
tags
category
icon
password
实验说明
实验背景
信用风险是指银行向用户提供金融服务后,用户不还款的概率。信用风险一直是银行贷款决策中广泛研究的领域。信用风险对银行和金融机构,特别是商业银行来说,起着至关重要的作用,但是一直以来都比较难管理。
实验说明
本实验以贷款违约为背景,要求使用贝叶斯决策论的相关知识在训练集上构建模型,在测试集上进行贷款违约预测并计算分类准确度。
实验步骤及内容
一、数据数据分析
首先对提供的数据集得数据进行分析如下:
字段 | 描述 | 属性类型及预处理方式 |
loan_id | 贷款记录唯一标识 | 无关属性 |
user_id | 借款人唯一标识 | 无关属性 |
total_loan | 贷款数额 | 离散化 |
year_of_loan | 贷款年份 | 有关属性 |
interest | 当前贷款利率 | 离散化 |
monthly_payment | 分期付款金额 | 离散化 |
class | 贷款级别 | 分类处理(共7类) |
employer_type | 所在公司类型 | 分类处理(共6类) |
industry | 工作领域 | 分类处理(共14类) |
work_year | 工作年限 | 分类处理(共11类) |
house_exist | 是否有房 | 分类属性(共5类) |
censor_status | 审核情况 | 分类属性(共3类) |
issue_date | 贷款发放的月份 | 无关属性 |
use | 贷款用途类别 | 分类属性(共14类) |
post_code | 贷款人申请时邮政编码 | 无关属性 |
region | 地区编码 | 无关属性 |
debt_loan_ratio | 债务收入比 | 离散化 |
del_in_18month | 借款人过去18个月逾期30天以上的违约事件数 | 有关属性 |
scoring_low | 借款人在贷款评分中所属的下限范围 | 离散化 |
scoring_high | 借款人在贷款评分中所属的上限范围 | 离散化 |
known_outstanding_loan | 借款人档案中未结信用额度的数量 | 有关属性 |
known_dero | 贬损公共记录的数量 | 有关属性 |
pub_dero_bankrup | 公开记录清除的数量 | 有关属性 |
debt_loan_ratio | 债务收入比 | 离散化 |
del_in_18month | 借款人过去18个月逾期30天以上的违约事件数 | 有关属性 |
scoring_low | 借款人在贷款评分中所属的下限范围 | 离散化 |
scoring_high | 借款人在贷款评分中所属的上限范围 | 离散化 |
known_outstanding_loan | 借款人档案中未结信用额度的数量 | 有关属性 |
known_dero | 贬损公共记录的数量 | 有关属性 |
pub_dero_bankrup | 公开记录清除的数量 | 有关属性 |
recircle_b | 信贷周转余额合计 | 离散化 |
recircle_u | 循环额度利用率 | 离散化 |
initial_list_status | 贷款的初始列表状态 | 分类属性(共2类) |
app_type | 是否个人申请 | 分类属性(共2类) |
earlies_credit_mon | 借款人最早报告的信用额度开立的月份 | 无关属性 |
title | 借款人提供的贷款名称 | |
policy_code | 公开可用的策略_代码=1新产品不公开可用的策略_代码=2 | 分类属性(共2类) |
f系列匿名特征 | 匿名特征f0-f4,为一些贷款人行为计数特征的处理 | 有关属性 |
early_return | 借款人提前还款次数 | 有关属性 |
scoring_high | 借款人在贷款评分中所属的上限范围 | 离散化 |
known_outstanding_loan | 借款人档案中未结信用额度的数量 | 有关属性 |
known_dero | 贬损公共记录的数量 | 有关属性 |
pub_dero_bankrup | 公开记录清除的数量 | 有关属性 |
recircle_b | 信贷周转余额合计 | 离散化 |
recircle_u | 循环额度利用率 | 离散化 |
initial_list_status | 贷款的初始列表状态 | 分类属性(共2类) |
app_type | 是否个人申请 | 分类属性(共2类) |
earlies_credit_mon | 借款人最早报告的信用额度开立的月份 | 无关属性 |
title | 借款人提供的贷款名称 | |
policy_code | 公开可用的策略_代码=1新产品不公开可用的策略_代码=2 | 分类属性(共2类) |
f系列匿名特征 | 匿名特征f0-f4,为一些贷款人行为计数特征的处理 | 有关属性 |
early_return | 借款人提前还款次数 | 有关属性 |
early_return_amount | 贷款人提前还款累积金额 | 离散化 |
early_return_amount_3mon | 近3个月内提前还款金额 | 离散化 |
isDefault | 贷款是否违约(预测标签) |
二、读入数据
读入数据后将前一步数据分析后的无关属性删除
三、数据预处理
接下来需要对数据进行预处理:
1. 填充缺失值
使用众数来填充缺失数据
2. 分类属性处理
建立映射字典将文本类别转换为数值
3. 离散化处理
数据离散化是指将连续型数据转变成离散型数据。
朴素贝叶斯算法需要使用离散型的数据,数据离散化的实现方法我们考虑两种,等距离散化和等频离散化。
等距离散化是指将属性值分为具有相同宽度的区间,区间的个数k根据实际情况来决定。
等频离散化会根据数据的频率分布进行排序,然后按照频率进行离散,好处是数据变为均匀分布,但是会更改原有数据的分布状态。简而言之,就是根据数据频率分布去划分数据区间。
在初始的离散化处理中,我考虑将两种方式均实现,在后续测试哪种离散化的效果更好,测试表明等距离散化效果更好。
四、拉普拉斯平滑
零概率问题:
在计算事件的概率时,如果某个事件在观察样本库(训练集)中没有出现过,会导致该事件的概率结果是0。这是不合理的,不能因为一个事件没有观察到,就被认为该事件一定不可能发生(即该事件的概率为0)。
拉普拉斯平滑(Laplacian smoothing)就是为了解决零概率的问题。
理论假设:假定训练样本很大时,每个分量x的计数加1造成的估计概率变化可以忽略不计,但可以方便有效的避免零概率问题

五、贝叶斯分类器的实现

特征向量,类别状态
为后验概率 posterior probability
为类条件概率,在的概率下的概率
为先验概率 prior probability
为 evidence probability
六、实验结果
训练集准确率: 0.8348
混淆矩阵:
Predicted 0 1
Actual
0 6550 938
1 549 963
测试集准确率: 0.8230
测试集混淆矩阵:
Predicted 0 1
Actual
0 715 114
1 63 108
训练集类别分布: [7488 1512]
测试集类别分布: [829 171]
- Author:Rainnn
- URL:https://blog.rainnn.top//article/1ceeefba-b209-804a-bac4-df3879b1f7a5
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!