Python贷款违约预测:Logistic、Xgboost、Lightgbm、贝叶斯调参/GridSearchCV调参|数据分享

简介: Python贷款违约预测:Logistic、Xgboost、Lightgbm、贝叶斯调参/GridSearchCV调参|数据分享

银行贷款业务是银行的主要盈利方式,对于具体的贷款申请人,是否可以同意贷款申请是一件十分重要的步骤,如果贷款人在贷款后出现违约行为,这将对银行的资金流稳定性造成不利的影响。因此针对贷款人的“数据信息”进行处理和违约预测具有举足轻重的作用。对于金融行业来说,贷款业务及人员信息十分复杂,对于数据特征的处理十分重要,在数据处理完成后,通过机器学习模型进行预测以判断贷款人是否会违约点击文末“阅读原文”了解更多


解决方案

任务/目标

根据金融业务要求,运用数据源分析预测贷款人是否违约。

数据源准备

特征转换

  • 对于贷款金额、年收入等数值型数据,使用数据分箱的方法分为四类用数字0-3表示,阈值根据样本总数均分位处的值确定;对于贷款目的、贷款等级等类别型数据,使用独热编码的方法处理;对于放贷日期等时间类型数据,转换成标准时间格式;对于匿名n系列数据,使用seaborn进行特征性筛查,剔除相关性高的特征。

构造特征

结合金融业务特点,由贷款金额、利率、年限构建新特征贷款利息,由信贷开立时间和放贷时间构建新特征经历时间等。

 

划分训练集和测试集

将训练集划分为:训练集训练模型、验证集评估模型、测试集最后一次测试模型,比例为:6:2:2 ,最后使用训练集预测结果,最后不加载测试集去训练,会造成测试集数据泄露。本项目中80万训练集,20万验证集,20万测试集查看文末了解数据免费获取方式

建模

Logistic:

逻辑回归是一种分类算法,多用于 两个类别之间的判断, 逻辑回归的损失称为对数似然损失, 使用梯度下降的方法优化损失函数的值。

Xgboost:

GBDT是基于boosting方法将所有弱分类器的结果相加等于预测值,然后下一个弱分类器去拟合误差函数对预测值的残差,每棵树就是一个弱分类器。Xgboost本质上也是一种GBDT,在损失函数中添加了正则化项L1和L2来控制模型的复杂度,提高泛化能力。

Lightgbm

LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,具有 支持高效率的并行训练,并且具有更快的训练速度、更低的内存消耗、更好的准确率。GBDT在每一次迭代过程中,都需要遍历整个训练集多次,因此与内存产生冲突,对于海量数据是很不利的。Xgboost采用预排序方法的决策树算法,虽然对于分割点的寻找较为准确,但同时保存了特征值和特征排序的结果,空间消耗很大,并且在遍历分割点时计算分裂增益,时间消耗也大。Lightgbm采用直方图算法将连续特征放入直方图箱子中,从而减少内存使用和时空复杂度。

模型优化

1.特征工程,贝叶斯调参/GridSearchCV调参

在此案例中,Xgboost和Lightgbm算法模型预值的AUC值较好,其预测结果如下:

调参前两种模型的AUC值:

895cdde7a12dde12eba50d8b3e6cf4be.png

调参后:

Xgboost的AUC值获得一定的提升,关于模型还有较大的优化空间。

911cecbbbbd97fd570c2285dc319fb52.png

Lightgbm:

通过贝叶斯调参后,找到了一组最优解,AUC值提升至0.7234。


a977487b279bd6aee609188e61d72b6b.png

最后输出为测试集样本发生贷款违约的概率值。

8d98a90ad17209c4e91f15f41c82aebc.png

相关文章
|
2月前
|
机器学习/深度学习 新能源 调度
电力系统短期负荷预测(Python代码+数据+详细文章讲解)
电力系统短期负荷预测(Python代码+数据+详细文章讲解)
195 1
|
2月前
|
缓存 API 网络架构
淘宝item_search_similar - 搜索相似的商品API接口,用python返回数据
淘宝联盟开放平台中,可通过“物料优选接口”(taobao.tbk.dg.optimus.material)实现“搜索相似商品”功能。该接口支持根据商品 ID 获取相似推荐商品,并返回商品信息、价格、优惠等数据,适用于商品推荐、比价等场景。本文提供基于 Python 的实现示例,包含接口调用、数据解析及结果展示。使用时需配置淘宝联盟的 appkey、appsecret 和 adzone_id,并注意接口调用频率限制和使用规范。
|
1月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
1月前
|
存储 JSON 算法
Python集合:高效处理无序唯一数据的利器
Python集合是一种高效的数据结构,具备自动去重、快速成员检测和无序性等特点,适用于数据去重、集合运算和性能优化等场景。本文通过实例详解其用法与技巧。
94 0
|
3月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
3月前
|
JSON API 数据格式
Python采集京东商品评论API接口示例,json数据返回
下面是一个使用Python采集京东商品评论的完整示例,包括API请求、JSON数据解析
|
16天前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
18天前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
17天前
|
机器学习/深度学习 数据采集 算法
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
|
2月前
|
JSON 安全 API
Python处理JSON数据的最佳实践:从基础到进阶的实用指南
JSON作为数据交换通用格式,广泛应用于Web开发与API交互。本文详解Python处理JSON的10个关键实践,涵盖序列化、复杂结构处理、性能优化与安全编程,助开发者高效应对各类JSON数据挑战。
145 1

热门文章

最新文章

推荐镜像

更多