首页 > 编程语言 >Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告

Python用逻辑回归、决策树、SVM、XGBoost 算法机器学习预测用户信贷行为数据分析报告

时间:2023-01-09 22:11:47浏览次数:66  
标签:征信 SVM Python APP XGBoost 000 贷款 结清 属性

全文链接:http://tecdat.cn/?p=31201

原文出处:拓端数据部落公众号

摘要:此报告首先将dataset进行数据清洗,得到dataset_new。再将dataset_new中属性分为基本信息、贷款行为/意愿信息和征信信息三类,并逐一进行分析。在对基本信息的分析中得出,在贷款未结清者中,青年群体、中等教育程度群体、中等和高收入群体的频数较高,同时已婚、受薪雇员占比高于未婚、个体经营者。在对贷款意愿与行为的信息分析中得出,贷款意愿与行为的变化与是否能够在规定时间内结清贷款相关性较低。在对征信信息的分析中可以得出,征信信息中的正指标与负指标与是否能按期结清贷款有较为显著的正相关与负相关关系。最后再利用机器学习算法训练预测是否能够按期结清贷款的模型,测试结果准确度较高。

1 属性分类

dataset_new数据集中共有6010个样本、51个属性。由于属性数量较多,为了便于分析,以属性的物理含义为分类依据,结合现实业务特征,挑选出具有代表性且特征涵盖较为全面的24条属性,并将其分为三类:基本信息、贷款行为/意愿信息和征信信息。 原始数据:

image.png

如表1-1所示。

表 1-1 代表性属性及其分类

image.png

image.png

2 基本信息分析

针对贷款未结清者的基本个人信息进行统计分析,可以得出贷款未结清者在年龄、受教育程度等属性上的分布特征。

2.1贷款未结清者随年龄的分布

将所有贷款未结清者从18岁开始以5为区间统计,可以得出如图2-1-1所示的贷款未结清者随年龄的分布情况:在23-33岁的青年群体中,贷款未结清者的频数最高, 在48岁及以上的中老年群体中贡惑术时信者虑对这一群体进行更深入的经济背景调查款未结清的主要群体,因此在审批贷款时应考虑对这一群体进行更深入的经济背景调查 和征信调查,以确保贷款对象具有结清贷款的能力。

image.png

图 2-1-1 贷款未结清者随年龄的分布

2.2 贷款未结清者随受教育程度的分布

将贷款未结清者按受教育程度分类,可以得出如图 2-2-1 所示的结果:在未结清贷款者中,中等教育程度(12th、 Graduation/Diploma)的频数最高,而低教育程度者和高教育程度者的频数均较低。

image.png 图 2-2-1 贷款未结清者随受教育程度的分布

2.3 贷款未结清者的婚姻状况分布

将贷款未结清者按照婚姻状况分类,可以得到如图 2-3-1 所示的结论:在贷款未结清者中,已婚者的比例略高于未婚者,已婚者与未婚者的占比差距并不显著。

image.png

图 2-3-1 贷款未结清者的婚姻状况分布

2.4 贷款未结清者的工作状况和收入状况分布

将贷款未结清者按照工作状况进行统计,可以得出如图2-4-1的结论:在贷款未结清者中,35.48%为个体经营者,64.52%为受薪雇员,受薪雇员的占比显著高于个题经营者,且两者比例约为2:1。 将贷款未结清者按照收入状优进仃,-30 00O)和高收入者(50,000-100, 000)清者中,中等收入者(15,000-20,000、20,000-30,000)和高收入者(50,000-100,000) 的频数最高,而低收入者(<10,000、>=500,000)的频数最低。由此可以考虑,在贷款审批时对中等收入和高收入的群体进行跟进一步的经济背景调查和征信调查。

image.png

图 2-4-1 贷款未结清者的工作状况分布

image.png

图 2-4-2 贷款未结清者的收入状况分布

3 贷款意愿与行为信息分析

在数据集中,贷款意愿主要由安装的短期以及长期贷款类的APP数量表征。由于贷款行为在多数情况下是在一定时间段内对资金的需求或者对资金需求的预期所产生的融资行为,故在考虑贷款意愿与贷款行为信息分析时可重点考察一定时间段内安装的贷款类APP数量。

分别将贷款未结清者(蓝色)与已经结清者(橙色)近3天与30天内安装短期贷款APP数绘制成热力图,如图3-1所示,贷款已结清者与未结清者的热力分布非常近似,所以可认为在一定时间段内安装的短期贷款APP数量与贷款是否结清的相关性较低。

QQ截图20230109160235.png

图 3-1 贷款未结清者与已经结清者近 3 天与 30 天内安装短期贷款 APP 数热力图

再分别将贷款未结清者(蓝色)与已经结清者(橙色)近30天与90天内安装长期贷款APP数绘制成热力图,如图3-2所示,贷款已结清者与未结清者的热力分布同样非常近似,所以也可认为在一定时间段内安装的长期贷款APP数量与贷款是否结清的相关性同样较低。

QQ截图20230109161352.png

图 3-2 贷款未结清者与已经结清者近 30 天与 90 天内安装长期贷款 APP 数热力图

结合以上分析推测,由于贷款意愿与行为多出自于业务上的客观需求,所以贷款意愿近与行为具有与外生变量相似的特性,因而贷款意愿与行为的变化与是否能够在规定时间内结清贷款相关性不大。

4 征信信息分析

将征信数据归一化之后,计算贷款未结清者与已结清者之间主要指标的差值,如图4-1。分析可得,对征信分数、在贷账户数等正指标(即值越高越信用越好),未结清者显著低于已结清者。对历史逾期总金额、近60查询机构数等负指标(即值越高越信用越好),未结清者显著高于已结清者。由此可得,征信信息中的正指标与负指标与是否能按期结清贷款有较为显著的正相关与负相关关系。所以在审批贷款时,应该加强对征信信息的分析与调查,以降低贷款者逾期未结清的概率。

image.png

图 4-1 未结清与结清者征信指标差(未结清-结清者)

5 基于机器学习方法的结清状况预测

由于贷款是否能按时结清受到诸多因素影响,也会因为偶然因素产生扰动,同时考虑到对每一个客户进行人工分析的人工成本和时间成本较高,故考虑训练基于机器学习方法的结清状况预测模型,在实际应用中可以直接输入指标利用模型对是否能够结清做出预测,从而作为人工审批的依据。 分别采用LogisticRegression、DecisionTree、SVM、XGBoost 算法,以dataset_new中关键属性作为样本属性,训练集:测试集 =8:2分割所有样本和标签进行训练,所得测试集准确率与训练时间如表5-1所示。

表 5-1 各算法测试集准确率与训练时间

image.png

由表5-1可得,各算法测试集准确率均为1.0,而在训练时间上DecisionTree显著低于其他三种算法。考虑到现实应用中数据集规模可能更大,所以可考虑应用DecisionTree对是否能结清贷款进行预测以节约成本和提高效率。

6 总结

此报告对数据集属性进行了分类,并逐一分析各类属性与是否能够结清贷款的关系。 同时给出了一种时间成本低、准确度高的基于机器学习预测是否能够结清贷款的方法,用于协助贷款审批决策与分析工作。


000.png

最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

标签:征信,SVM,Python,APP,XGBoost,000,贷款,结清,属性
From: https://www.cnblogs.com/tecdat/p/17038677.html

相关文章

  • python 使用waitress替代flask自带的web服务器
    首席引入依赖安装waitrsspipintsllwaitress 然后在flask程序内引入依赖使用server()函数代替app.run()函数启动时,直接pythonxxx.py即可fromwaitressimportserve......
  • python简易计算器的实现
    #导入模块importdatetime,time,tkinter#新建一个窗口windows=tkinter.Tk()#给窗口定义标题windows.title('简易计算器')#给窗口定义尺寸windows.geometry('500x60......
  • 使用Python清理历史文件夹
    根据修改时间,删除文件夹。例如:删除某个日期之前的文件夹。#-*-coding:utf-8-*-#@Time:2023/1/919:34#@Author:King#@Software:PyCharm#@Describe......
  • python数据分析与可视化【思维导图】
    python数据分析与可视化常用库numpy+matplotlib+pandas思维导图图中难免有错误,后期随着学习与应用的深入,会不断修改更新。当前版本号:1.0numpy介绍NumPy是什么?NumP......
  • Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)
    一、遍历列表1. 遍历整个列表:使用for循环1colors=['red','yellow','blue','green']#定义列表2forcolorincolors:#使用循环:从列表中提取一个元素并将其存......
  • 004 python 程序运行日志使用方法
    导入包importlogging.handlersimportdatetimelogger=logging.getLogger("log")日志目录查找并创建ifos.path.isdir('log'):print("当前目录下存在log文......
  • 003 python一个整数或byte数据转为十六进制字符串不带0x
    把一个byte数据转化为字符,例如byte数据为05,要转换为十六进制字符串hexstr,不带0xd=5hs=((str(hex(d)))[2:]).zfill(2)如上,hs为转换后的字符串。原理就是先用hex转化......
  • Python
    一、Python特点:1、跨平台程序设计语言。2、解释型编程语言,没有编译环节。3、交互式编程语言(可以在命令提示符中编写代码)。4、面向对象编程语言。  二、搭建开发......
  • Python浅拷贝和深拷贝
    预备知识对象的三个属性python中每一个对象都有三个属性:唯一标志,类型和值。其中对象的标志是一串数字,是每个对象的唯一标识,位于同一地址的对象标志相同。对象的值相等和......
  • 用python处理html代码的转义与还原-转
    本篇博客来源:用python处理html代码的转义与还原&#x27;&amp;&lt;&gt;&quot;&#x27;等特殊字符摘要:html转义:importhtml#字符串转义str="<tag>aaa</tag>"str_out=......