Python基于逻辑回归分类模型、决策树分类模型、LightGBM分类模型和XGBoost分类模型实现车辆贷款违约预测项目实战

news2024/10/6 16:18:10

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

1.项目背景

随着经济的发展和人民生活水平的提高,汽车消费在居民消费中所占比例逐渐增加,汽车金融公司也因此得到了快速发展。然而,在这个过程中,车贷违约风险的问题也逐渐凸显。如何有效识别和预测车贷违约风险,成为汽车金融公司急需解决的问题。

金融机构因车辆贷款违约而蒙受重大损失。这导致汽车贷款承保收紧,汽车贷款拒绝率上升。通过分析汽车贷款违约情况,利用多种机器学习模型进行预测。

本项目通过逻辑回归模型、决策树模型、LightGBM模型和XGBoost模型进行车辆贷款违约预测。      

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下:

编号 

变量名称

描述

1

UniqueID

客户标识符

2

loan_default

到期日第一次的付款违约

3

disbursed_amount

已发放贷款

4

asset_cost

资产成本

5

ltv

资产贷款价值比

6

branch_id

发放贷款的分行

7

supplier_id

发放贷款的车辆经销商

8

manufacturer_id

汽车制造商(英雄、本田、TVS等)

9

Current_pincode

客户的当前密码

10

Date.of.Birth

客户的出生日期

11

Employment.Type

客户的就业类型(带薪/自雇)

12

DisbursalDate

支付日期

13

State_ID

付款状态

14

Employee_code_ID

记录支出的组织的员工

15

MobileNo_Avl_Flag

如果客户共享手机号码,则标记为1

16

Aadhar_flag

如果客户共享了aadhar,则将其标记为1

17

PAN_flag

如果pan由客户共享,则标记为1

18

VoterID_flag

如果投票者由客户共享,则标记为1

19

Driving_flag

如果DL由客户共享,则标记为1

20

Passport_flag

如果客户共享护照,则标记为1

21

PERFORM_CNS.SCORE

局分数

22

PERFORM_CNS.SCORE.DESCRIPTION

局分数说明

23

PRI.NO.OF.ACCTS

客户在支付时获得的贷款总额

24

PRI.ACTIVE.ACCTS

客户在支付时获得的活跃贷款数

25

PRI.OVERDUE.ACCTS

支付时的违约账户数

26

PRI.CURRENT.BALANCE

发放时活跃贷款的未偿本金总额

27

PRI.SANCTIONED.AMOUNT

发放时所有贷款的批准总额

28

PRI.DISBURSED.AMOUNT

发放时为所有贷款发放的总金额

29

SEC.NO.OF.ACCTS

客户在支付时获得的贷款总额

30

SEC.ACTIVE.ACCTS

客户在支付时获得的活跃贷款数

31

SEC.OVERDUE.ACCTS

支付时的违约账户数

32

SEC.CURRENT.BALANCE

发放时活跃贷款的未偿本金总额

33

SEC.SANCTIONED.AMOUNT

发放时所有贷款的批准总额

34

SEC.DISBURSED.AMOUNT

发放时为所有贷款发放的总金额

35

PRIMARY.INSTAL.AMT

主要贷款金额

36

SEC.INSTAL.AMT

二次贷款金额

37

NEW.ACCTS.IN.LAST.SIX.MONTHS

客户在支出前的最后6个月内获得的新贷款

38

DELINQUENT.ACCTS.IN.LAST.SIX.MONTHS

最近6个月内拖欠的贷款

39

AVERAGE.ACCT.AGE

平均贷款期限

40

CREDIT.HISTORY.LENGTH

自首次贷款以来的时间

41

NO.OF_INQUIRIES

客户办理的贷款手续

数据详情如下(部分展示):

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据: 

关键代码:

3.2数据缺失查看

使用Pandas工具的info()方法查看数据信息:

从上图可以看到,总共有41个变量,数据中无缺失值,共233154条数据。

关键代码: 

3.3数据描述性统计

通过Pandas工具的describe()方法来查看数据的平均值、标准差、最小值、分位数、最大值。

关键代码如下:  

4.探索性数据分析

4.1 loan_default变量柱状图

用Matplotlib工具的plot()方法绘制柱状图:

4.2 数据项空值统计

从上图可以看到,Employment_Type变量有空值,数量为7661。

4.3 相关性分析

从上图中可以看到,对部分特征进行了相关性分析,数值越大相关性越强,正值是正相关、负值是负相关。

4.4 绘制直方图

用Matplotlib工具的hist()方法绘制直方图:

从上图可以看出,对部分特征进行直方图绘制。

4.5 绘制折线图

如下是两个变量和因变量的折线图:

4.6 绘制柱状图

4.7 绘制散点图

5.特征工程

5.1 建立特征数据和标签数据

关键代码如下:

5.2 数据均衡化

如下所示,为数据均衡化后的数据:

5.3 数据标准化

数据标准化关键代码如下:

5.4 数据集拆分

通过train_test_split()方法按照90%训练集、10%测试集进行划分,关键代码如下:

6.构建分类模型 

主要使用逻辑回归分类算法、决策树分类算法、LightGBM分类算法和XGBoost分类算法,用于目标分类。  

6.1 构建模型 

编号

模型名称

参数

1

逻辑回归分类模型

默认参数值

2

决策树分类模型

默认参数值

3

random_state=123

4

LightGBM分类模型

默认参数值

5

random_state=42

6

XGBoost分类模型

默认参数值

7

random_state=42

7.模型评估

7.1评估指标及结果 

评估指标主要包括准确率、查准率、查全率、F1分值等等。

模型名称

指标名称

指标值

测试集

逻辑回归分类模型 

准确率

0.6642

查准率

0.6592

查全率

0.6807

F1分值

0.6698

决策树分类模型

准确率

0.7693

查准率

 0.7641

查全率

0.7795

F1分值

0.7717

LightGBM分类模型

准确率

0.8498

查准率

0.9925

查全率

 0.705

F1分值

0.8244

XGBoost分类模型

准确率

 0.8512

查准率

 0.9879

查全率

 0.7112

F1分值

0.827

从上表可以看出,LightGBM分类模型和XGBoost分类模型 F1分值分别为0.8244和0.827,说明这2个模型效果较好。   

7.2 分类报告

逻辑回归分类模型:

从上图可以看出,分类为0的F1分值为0.66;分类为1的F1分值为0.67。

  

决策树分类模型:

从上图可以看出,分类为0的F1分值为0.77;分类为1的F1分值为0.77。

LightGBM分类模型:

从上图可以看出,分类为0的F1分值为0.87;分类为1的F1分值为0.82。

XGBoost分类模型:

从上图可以看出,分类为0的F1分值为0.87;分类为1的F1分值为0.83。

7.3 混淆矩阵

逻辑回归分类模型:

从上图可以看出,实际为0预测不为0的 有6327个样本;实际为1预测不为1的 有5971个样本。  

决策树分类模型:

从上图可以看出,实际为0预测不为0的 有4395个样本;实际为1预测不为1的 有4027个样本。  

LightGBM分类模型:

从上图可以看出,实际为0预测不为0的 有101个样本;实际为1预测不为1的 有5375个样本。

XGBoost分类模型:

从上图可以看出,实际为0预测不为0的 有146个样本;实际为1预测不为1的 有5271个样本。

7.4 ROC曲线

逻辑回归分类模型:

从上图可以看出,逻辑回归分类模型的AUC值为0.73。

决策树分类模型:

从上图可以看出,决策树分类模型的AUC值为0.77。

LightGBM分类模型:

从上图可以看出,LightGBM分类模型的AUC值为0.89。

XGBoost分类模型:

从上图可以看出,XGBoost分类模型的AUC值为0.89。

8.结论与展望

综上所述,本文采用了逻辑回归、决策树、LightGBM和XGBoost算法来构建分类模型,最终证明了LightGBM和XGBoost模型效果良好。此模型可用于日常产品的预测。 

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 
链接:https://pan.baidu.com/s/1SKKxNs2aWQyqe5Yrvp-gdw 
提取码:tlvp

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1868564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】CentOS7重置登录密码

一、具体步骤 1、启动虚拟机,进入下方页面时选择第一个选项,并按e 2、在下方界面 添加 init/bin/sh,刚开始进来可能看不到,需要按下键盘的↓键。 3、填写完成后ctrlx保存 4、输入mount -o remount, rw / 5、输入passwd 用户名;输入后出现…

澳汰尔(Altair® )FlowSimulator™ 集成热流体系统设计

FlowSimulator 是一款 3D 设计工具,可为 CAD 集成环境中的流体和热系统提供跨学科建模和优化。 系统级设计变得越来越重要,因为企业正在面临仿真复杂工作周期的挑战。需要采用 FlowSimulator 等快速软件解决方案对整个系统进行建模,包括对快…

VAE-pytorch代码

import osimport torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import DataLoaderfrom torchvision import transforms, datasets from torchvision.utils import save_imagefrom tqdm import tqdmclass VAE(nn.Module): # 定义VAE模型…

【AI大模型】Transformers大模型库(十四):Datasets Viewer

目录 一、引言 二、Datasets Viewer数据查看器 2.1 概述 2.2 示例 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。 🤗 Transformers 提供了数以千计的预训练…

python-立方和不等式

[题目描述] 试求满足下述立方和不等式的 m 的整数解。 1^32^3...m^3≤n。本题算法如下: 对指定的 n,设置求和循环,从 i1 开始,i 递增1取值,把 i^3 (或 i∗i∗i)累加到 s,直至 s>n,脱离循环作…

VMware Workstation环境下,邮件(E-Mail)服务的安装配置,并用Windows7来验证测试

需求说明: 某企业信息中心计划使用IP地址17216.11.0用于虚拟网络测试,注册域名为xyz.net.cn.并将172.16.11.2作为主域名的服务器(DNS服务器)的IP地址,将172.16.11.3分配给虚拟网络测试的DHCP服务器,将172.16.11.4分配给虚拟网络测试的web服务器,将172.16.11.5分配给FTP服务器…

深度學習筆記14-CIFAR10彩色圖片識別(Pytorch)

🍨 本文為🔗365天深度學習訓練營 中的學習紀錄博客🍖 原作者:K同学啊 | 接輔導、項目定制 一、我的環境 電腦系統:Windows 10 顯卡:NVIDIA GeForce GTX 1060 6GB 語言環境:Python 3.7.0 開發…

ubuntu 18.04 server源码编译安装freeswitch 1.10.7支持音视频通话、收发短信——筑梦之路

软件版本说明 ubuntu版本18.04:https://releases.ubuntu.com/18.04.6/ubuntu-18.04.6-live-server-amd64.iso freeswitch 版本1.10.7:https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.7.-release.tar.gz spandsp包:https:…

家人们谁懂啊?手机信息删除找不回,原来3个技巧就能恢复

你是否也曾经遇到过这样的情况:手机里的重要信息不小心删除了,翻遍所有地方都找不到,心情烦躁到了极点。其实,信息删除后找回它们并不像你想象的那么复杂。不要担心,因为今天我将与你分享3个技巧,帮助你轻松…

1 哈希应用

O(1) 的哈希 Python中的哈希表主要通过内置的字典(dict)类型实现。对于字典的操作,包括插入(insert)、删除(delete)和查找(lookup)的时间复杂度,在理想情况下…

上位机图像处理和嵌入式模块部署(mcu之iap升级)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 mcu种类很多,如果是开发的时候需要对固件升级,整体还是比较容易的。不管是dap,还是st-link v2、j-link&#xf…

idea中使用springboot进行开发时遇到的工程结构问题汇总

idea中的工程结构和eclipse中不同,但是配置的内容都是一样的。 IDEA中也就是这个页面,快捷键ctrlaltshifts 如果在eclipse中,经常会遇到jre和jdk不正确的情况,但IDEA中这个问题很少,但是IDEA中会经常由于未正常配置根…

ESXI存储设备已经分区,无法创建数据存储。

问题:ESXi 存储设备已经分区完成,并且有 VMFS 文件系统,无法创建数据存储,选项是灰色。 解决办法:通过命令行工具 在现有的 VMFS 分区上创建数据存储。 在现有的 VMFS 分区上创建数据存储 1.ESXI开SSH2.windows自带CMD登入ESXI。&…

使用宝塔安装ModstartCMS (非一键安装)

操作系统 Linux Windows 推荐 Linux 操作系统,性能比较好 软件环境 稳定版 PHP 5.6 PHP 7.0 MySQL >5.0 PHP Extension:Fileinfo Apache/Nginx Laravel 9.0 版本 PHP 8.1 MySQL >5.0 PHP Extension:Fileinfo Apache/Ngin…

Windows 注册表是什么?如何备份注册表?

Windows注册表(Windows Registry)是微软Windows操作系统中的一个重要组件,用于存储系统和应用程序的配置信息和选项。下面就给大家详细讲解一下什么是注册表。 注册表的概念 Windows 注册表是一个集中管理的数据库,存储了系统、…

安霸CVFlow推理开发笔记

一、安霸环境搭建: 1.远程172.20.62.13 2. 打开Virtualbox,所在目录:E:\Program Files\Oracle\VirtualBox 3. 配置好ubuntu18.04环境,Ubuntu密码:amba 4. 安装toolchain,解压Ambarella_Toolchain_CNNGe…

成都工业学院2022级数据库原理及应用专周课程学生选课系统(基础篇)

运行环境 操作系统:Windows 11 家庭版 运行软件:Navicat Premium 16 项目内容 需求分析 学生:选课、退课、查看课程信息、查看选课情况等操作 教师:查看选课名单等操作 管理员:课程管理等操作 实体关系模式图 关…

js计算某个时间距离当前时间多少天,少于7天红色展示

效果图 后端返回数据格式 info:{vip_validity:"2027-09-07" }<div>到期时间&#xff1a;{{ info.vip_validity }}, 剩余<span :class"countdownDays(info.vip_validity) < 7 ? surplus : ">{{ !!info.vip_validity ? countdownDays(inf…

MySQL进阶-索引-使用规则-索引失效情况一(索引列运算,字符串不加引号,头部模糊匹配)

文章目录 1、索引列运算1.1、查询表tb_user1.2、查看tb_user的索引1.3、查询 phone177999900151.4、执行计划 phone177999900151.5、查询 substring(phone,10,2) 151.6、执行计划 substring(phone,10,2) 15 2、字符串不加引号2.1、查询 phone177999900152.2、执行计划 phone177…

强化学习详解:理论基础与核心算法解析

本文详细介绍了强化学习的基础知识和基本算法&#xff0c;包括动态规划、蒙特卡洛方法和时序差分学习&#xff0c;解析了其核心概念、算法步骤及实现细节。 关注TechLead&#xff0c;复旦AI博士&#xff0c;分享AI领域全维度知识与研究。拥有10年AI领域研究经验、复旦机器人智能…