租赁风控模型之决策树

  • 1. 数据预处理
  • 2. 业务分析
    • a. 租赁业务分析
      • i. 订单月份交易量与商品押金变化走势
    • b. 商品押金与期数天数分布
      • i. 商品押金分布
    • c. 逾期状态分布
      • i. 每月好坏用户分布情况
  • 3. 用户画像分析
  • 4. 多维变量分析
    • a. 性别与是否预期相关
    • b. 年龄分布与是否预期相关
    • c. 芝麻分与是否预期相关
    • d. 百融_信息合并与是否预期相关
  • 5. 特征工程
    • a. 提取特征和目标变量
    • b. 特征编码
    • c. 特征选择
    • d. 特征训练
  • 6. 决策树
    • a. 决策树模型
    • b. 验证模型
    • c. 绘制Roc曲线,计算AUC值
    • d. 混淆矩阵可视化
  • 7. 总结

前言:基于(手机类目风控因子表),对用户租赁数据进行业务分析、用户画像、多维变量和相关性分析。数据分析的最终目的是赋能于业务,在租赁场景中最直接的体现是:通过数据判断,用户中哪些是good用户,哪些是bad用户,他们都有什么共性和异性。通过决策树建模分析后,如果新用户租赁时,根据授权填写的各项信息,进行判断该用户是good用户还是bad用户,应不应该给予租赁。

1. 数据预处理

  • 对数据进行常规的处理,包括:导入数据分析相关的包、可视化包、防止出现中文乱码、备份原有warnings过滤器、读取文件、查看缺失率大于10%的列、删除字段、字段重命名忽略、缺失值处理以及对数据字段进行编码等。

  • 因为这里利用决策树,在此租赁场景设定只有“可租赁”和“不可租赁”两个选择,结果为二分类。目标变量为“是否m21”(是否逾期/是否租赁),对其进行编码:定义pass(可租赁/不逾期)为0,reject(不可租赁/逾期)为1。

2. 业务分析

a. 租赁业务分析

i. 订单月份交易量与商品押金变化走势


  • 从图中看出,交易量和商品押金成正相关,商品押金随交易量的变化而变化。

b. 商品押金与期数天数分布

i. 商品押金分布

  • 从图中看出,商品押金范围多集中在400-800元,中位数在600左右。

c. 逾期状态分布

i. 每月好坏用户分布情况

  • 从饼形图中看出,good用户占比92.45%,风控把握做的相对较好。
  • 从柱状图中看出,2021年末2个月bad客户占比较多,2022年前三个月相对较少,存在风险模型优化的可能。

3. 用户画像分析

  • 结合手机风控各因子类目表的数据表现情况来看 ,用户画像分析可以从:年龄、性别、芝麻分、百融_信息合并、历史是否有释放押金转租金行为、否命中诈骗地址、代扣失败次数是否大于10、收货地址、收入等因素进行分析。

4. 多维变量分析

a. 性别与是否预期相关

  • 从柱状图性别与是否预期占比来看,男性这部分的bad用户最多,基数也是最大的。

b. 年龄分布与是否预期相关

  • 从密度图中看出,是否逾期与年龄区分度较小。

c. 芝麻分与是否预期相关

  • 从柱状图逾期状态分别在芝麻分占比看出,信用评级筛选过后的客户中,逾期的表现与其评级基本保持一致。

d. 百融_信息合并与是否预期相关

  • 从柱状图中看出,非百融_信息合并的这部分bad用户最多,基数也是最大。
    类似的因子还有:历史是否有释放押金转租金行为、是否命中诈骗地址、是否锁机

5. 特征工程

a. 提取特征和目标变量

  • 这里目标变量是:是否m21
    0:good用户 1:bad用户

b. 特征编码

  • Python下做决策树的时候,每一个特征都应该是数值(int或float)类型的。这里利用LabelEncoder对类型特征进行编码。

c. 特征选择

特征较多时,我们初步聚焦几个重要特征展开分析,这就涉及到特征选择的问题。
《机器学习》将特征选择分为了三种方法:分别是过滤式(filter) 、包裹式(wrapper)和嵌入式(embedded)。
● 过滤式(filter): 通过自变量之间或自变量与目标变量之间的关联关系选择特征。
● 包裹式(wrapper): 通过目标函数(AUC/MSE)来决定是否加入一个变量。
● 嵌入式(embedded): 通过学习器自身自动选择特征。
这里只选择其中一种方法进行选择,这里采用的是Wrapper。

  • 通过递归特征消除方法筛选出10个与目标变量相关性较强的特征,剔除相关性差的特征,达到降维效果。
    为了更加直观的查看,可以通过热力图进行展示。

d. 特征训练

  • 为了使模型更加可信,把数据随机拆分成训练集和测试集。(7/3)

    y_train,y_test的逗号后面没有数字,就表示只有1列。

6. 决策树

a. 决策树模型

  • 决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点,其中内部结点表示一个特征或属性,叶结点表示一个类。一般的,一棵决策树包含一个根结点、若干个内部结点和若干个叶结点。叶结点对应于决策结果,其他每个结点则对应于一个属性测试。

    最终生成的决策树如下:

    背景色中橘红色代表“可租赁”,蓝色代表“不可租赁”
  • 决策树已生成,可以直观的看到什么条件下“可租赁”,什么条件下“不可租赁”。gini指数在决策树中来衡量样本数据的不确定性,gini(熵)越大,样本的不确定性就越大。

b. 验证模型

  • 检验模型效果好坏的标准是实践。决策树模型已经建好了,我们随机从测试集中抽取数据进行验证。
  • 抽取测试集中第一行数据利用决策树进行预测,返回值为0,0代表“可租赁/不逾期”,经查看预测值和实际值一致。同样的方式抽取最后一行数据进行验证:

    但这种验证方法,只能代表个案,想要看到的是总体准确率。

    预测数据集,返回的值为0.9221279326820224

c. 绘制Roc曲线,计算AUC值


从ROC曲线可以观察到训练数据和测试数据曲线重合度较高,拟合较好。

d. 混淆矩阵可视化

  • 模型的表现虽然很好,但从混淆矩阵来看,其实际表现并非想象中的完美,需要对其重新进行评估与优化。

7. 总结

92%的准确率相当高。但样本量相对比较小,不能代表整体,且一个好的模型需要大量数据做支撑。而这个决策树模型也比较简陋,中间省去了很多调优细节。在实际工作场景中也不是“非黑即白”的关系,还有好多处于中间区域的用户,这要综合评估风险和收益,找到两者之间的平衡点。

下期我们来讲讲:《决策树模型优化策略》,关注我,不迷路。

租赁风控模型之决策树相关推荐

  1. 风控模型师面试准备--技术篇(逻辑回归、决策树、集成学习)

    原文地址:https://zhuanlan.zhihu.com/p/56175215 编辑于2019-02-12,持续更新中,有风控建模工作经验的,或者想转行风控建模的小伙伴可以互相交流下... 一. ...

  2. Python银行风控模型的建立 SVM 决策树 神经网络 三种模型比较

    一.首先要感谢原作者的无私分享 原文网页链接: Python银行风控模型的建立_DG息的博客-CSDN博客_银行风控模型 首先感谢"Python银行风控模型的建立"()这位老师,他 ...

  3. 如何浅显得理解风控模型中的特征筛选|附实操细节(全)

    今天我们综合了星球同学的一些需求,给大家梳理了这样一篇风控建模中特征筛选,希望对所有的风控人员在模型开发上都有所启发. 本文,我们会跟大家介绍特征选择的内容,包括其中的重点问题跟注意的细节. 因为完整 ...

  4. 手把手系列—风控模型的调参方法和实际应用

    序言: 大数据时代的风控体系必有模型部分的参与,用策略贯穿整个风控体系,以数据为驱动,模型一定是标配内容.于是在模型的建设上,如何精细化地输出一套有效的模型,就是在精细化管理上非常重要的一个差异点.不 ...

  5. 小微风控模型汇总与企业征信报告指南

    番茄风控文章上关于小微风控模型内容,之前相关的有: 不能不知-小微最常见的两大场景模型- 当时谈到了小微风控的两类模型:营收预估模型与逾期预测模型,今天的内容会在这个基础上再介绍另外两大类模型,即欺诈 ...

  6. 风控模型师面试准备--技术篇

    转载:https://zhuanlan.zhihu.com/p/56175215 一.算法 逻辑回归 决策树 集成学习(随机森林,Adaboost,GBDT,XGBOOST,LightGbm) 二.特 ...

  7. 如何“谨慎”使用“数据驱动”的风控模型(二)——决策篇

    上一篇,笔者介绍了谨慎使用"数据驱动"的风控模型,需要"高质量的数据 + 审慎严谨的决策模型 + 实时全面的监控分析"动态闭环.本篇笔者会着力于介绍整个风控决策 ...

  8. 金融风控模型开发SOP(标准操作流程)-收藏

    平衡各方利益的模型才是最好模型 -Toby!2022 07 07 各位朋友大家好,我是Toby老师.之前有很多风控朋友咨询如何搭建风控模型.今天我抛砖引玉为大家讲述金融风控模型开发SOP(标准操作流程 ...

  9. 一文看懂风控模型所有

    [与数据同行]已开通综合.数据仓库.数据分析.产品经理.数据治理及机器学习六大专业群,加微信号frank61822702 为好友后入群.新开招聘交流群,请关注[与数据同行]公众号,后台回复" ...

  10. Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付

    全文链接:http://tecdat.cn/?p=26184 在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?( ...

最新文章

  1. 内存Cookie和硬盘Cookie
  2. 设计模式 (3) : 单例模式的几种方法
  3. setsockopt()函数 参数详解
  4. c++ 多个线程操作socket要同步吗_基础知识深化:NIO优化原理和Tomcat线程模型
  5. mysql数据库集群备份策略_mysql高可用方案之集群(cluster)
  6. python抓取html中特定的数据库,Python抓取网页中内容,正则分析后存入mysql数据库...
  7. 关于离散数学的一点事情
  8. matlab 做中值滤波时K = filter2(fspecial('average',3),J)/255,为什么要除以255
  9. 摄像头(WebCam)在Linux操作系统中的驱动方法
  10. unix操作系统图标大全
  11. java希腊字母表怎么打印_java 命令行窗口输出希腊字母表
  12. 格式化输出latex数字罗马字体
  13. Kotlin协成的简单理解
  14. 7个向上管理技巧,让你的职场一路开挂
  15. 一个节拍都不错过——dfuse 2019年第三季度回顾
  16. 按照C++语言程序结构组成数字电路进行计算的计算机
  17. windows的由来与详细介绍
  18. SPSS多元线性回归
  19. 题解:女神间的 BOYI # 博弈论 # surreal number
  20. html中如何把一个div放到页面底部,html – 如何将DIV锚定到页面的底部?

热门文章

  1. Ubuntu 20 / 21 - KDE 配置Nvidia 独立显卡
  2. 金蝶一直显示服务器未启动怎么办,金蝶服务器数据库未启动怎么办
  3. C++的gets和puts
  4. 新建一个html代码页面,三分钟教你创建一个简单的网页
  5. torch.cuda
  6. 人类简史-读书笔记之历史演变图
  7. 人工智能基础:人工智能云服务(Alaas)介绍
  8. 蓝桥杯算法提高试题 学霸的迷宫(BFS)
  9. HTL5 JavaScript里的DOM节点简单思维导图(元素节点,文本节点,节点的增删改查) 高清可打印
  10. 小码哥学习感想第一天