拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化
原文链接:http://tecdat.cn/?p=25111
原文出处:拓端数据部落公众号
分类树的一个常见用途是预测抵押贷款申请人是否会拖欠贷款。数据包含对 5,960 名抵押贷款申请人的观察结果。一个名为的变量 Bad
表示申请人在获得贷款批准后是还清贷款还是拖欠贷款。
此示例构建一个树模型,该模型用于对数据进行评分,并可用于对有关新申请人的数据进行评分。
数据变量
表 :数据表中的变量
变量 | 类型 | 等级 | 描述 |
---|---|---|---|
Bad
|
因变量 | 二进制 | 1 = 申请人拖欠贷款或严重拖欠贷款 |
0 = 申请人还清贷款 | |||
CLAge
|
预测变量 | 区间 | 最长信用额度的月龄 |
CLNo
|
预测变量 | 区间 | 信用额度数量 |
DebtInc
|
预测变量 | 区间 | 债务收入比 |
Delinq
|
预测变量 | 区间 | 拖欠信用额度的数量 |
Derog
|
预测变量 | 区间 | 重大贬损报道数量 |
Job
|
预测变量 | 标称 | 职业类别 |
Loan
|
预测变量 | 区间 | 申请贷款金额 |
MortDue
|
预测变量 | 区间 | 抵押贷款到期金额 |
nInq
|
预测变量 | 区间 | 近期信用查询次数 |
Reason
|
预测变量 | 二进制 |
DebtCon = 债务合并
|
HomeImp = 家庭改善
|
|||
Value
|
预测变量 | 区间 | 财产价值 |
YoJ
|
预测变量 | 区间 | 目前工作年限 |
加载数据
树模型的因变量是 Bad
,一个有两个值的分类变量(0 代表贷款支付,1 代表违约)。其他变量是模型的预测变量。以下语句将数据加载到会话中并显示数据表的前 10 个观察值。
/* 将变量名称转换为混合大小写 */
data my.hm;length Bd oan Motue Value 8 Reason Job $7
显示 的前 10 个观测值。
输出数据的部分列表
创建分类决策树
以下语句创建分类树:
proc maxdepth=5;model Bad = Dei o JbIq as LAeLDtInLa Mrue ae J;prune costcomplexity;
指定要生长的树的最大深度为 5。
Bad
在等号左侧表明它是因变量。
因为没有包含 GROW 语句,所以 PROC TREEPLIT 默认使用熵度量,它计算增长树的增益。语句要求进行成本复杂性修剪。
声明要求将观察结果 Hmeq
划分为不相交的子集以进行模型训练和验证。随机选择观测值作为验证子集,概率为 0.3;为训练子集选择剩余的观察值。
FILE= 选项语句请求将 SAS DATA 步得分代码保存到名为 trc.sas
.
树形图
最终树的概览图
如绘图图例中的颜色所示,为终端节点中的观察分配了 Bad
=0 或 =1 的预测。叶节点中的第一个条形显示与训练分区中=0 或 =1Bad
的预测相匹配的因变量的比例, 叶节点中的第二个条形显示与验证分区中匹配的因变量的比例。线的粗细表示哪些节点具有更多的总观测值。
树形图在是树顶部的详细视图。
详细树形图
默认情况下,此视图提供有关树的前三个级别的详细拆分信息,包括根级别。每个节点上方的拆分规则显示拆分变量和拆分值;该规则确定来自父节点的哪些观察值包含在节点中。节点内表的第一行提供节点标识符。第二行提供训练观察的数量,后跟反斜杠,然后是验证观察的数量。如果在该点发生分类,第三行显示该节点中观察的预测因变量,以及训练观察与观察到的因变量的比例。这通过反斜杠与验证观察的比例分开。
显示最终树的拟合统计量
输出 :树性能
树分裂程序
显示修剪图
修剪图
此图显示修剪树时训练和验证数据的错误分类率。垂直线显示选定的最终树,它对验证数据具有最低的误分类率。
创建评分代码并对新数据进行预测评分
除了查看有关树模型的信息之外,您可能有兴趣应用该模型来预测因变量未知的其他数据表中的因变量。您可以运行 SAS DATA 步代码对新数据进行评分。以下是示例:
data scd;set smo.hq;%include 'tc.sas';
run;
显示 的部分列表 。
输出 :评分 数据的部分列表
数据表包含由分数代码创建的 13 个原始变量和 4 个新变量。变量 PA1
是这片叶子中训练观察的比例 BAD
=1;这个变量可以解释为违约概率。该变量 IAD
表示观测值的 BAD 预测值。
您可以使用前面的语句对新数据进行评分,方法是在 SET 语句中包含新数据表 。新数据表必须包含与用于构建树模型的数据相同的变量,但不能包含您现在要预测的未知因变量。
最受欢迎的见解
1.从决策树模型看员工为什么离职
2.R语言基于树的方法:决策树,随机森林
3.python中使用scikit-learn和pandas决策树
4.机器学习:在SAS中运行随机森林数据分析报告
5.R语言用随机森林和文本挖掘提高航空公司客户满意度
6.机器学习助推快时尚精准销售时间序列
7.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用
8.python机器学习:推荐系统实现(以矩阵分解来协同过滤)
9.python中用pytorch机器学习分类预测银行客户流失
拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化相关推荐
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- 拓端tecdat荣获掘金社区入驻新人奖
2021年7月,由掘金发起了"入驻成长礼"颁奖活动.本次活动邀请到知名开发者.服务机构代表等业界人士. 据了解,掘金社区"新入驻创作者礼"主要对已经积累了一定历 ...
- 拓端tecdat荣获2022年度51CTO博主之星
相信技术,传递价值,这是51CTO每一个技术创作者的动力与信念,2022 年度,拓端tecdat 作为新锐的数据分析咨询公司,在51CTO平台上,不断的输出优质的技术文章,分享前沿创新技术,输出最佳生 ...
- 拓端tecdat|bilibili视频流量数据潜望镜
最近我们被客户要求撰写关于bilibili视频流量的研究报告,包括一些图形和统计输出. 最新研究表明,中国有超过7亿人在观看在线视频内容.Bilibili,被称为哔哩哔哩或简称为B站,是中国大陆第二个 ...
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- 【2016年第1期】基于大数据的小麦蚜虫发生程度决策树预测分类模型
张晴晴,刘勇,牟少敏,温孚江 山东农业大学农业大数据研究中心,山东 泰安 271018 摘要:小麦蚜虫是危害小麦的主要害虫.其发生程度预测特别是短期预测一直是植物保护领域难以解决的科学问题.传统预测方 ...
- 【华为云技术分享】【Python算法】分类与预测——决策树
1.决策树定义 决策树方法在分类.预测.规则提取等领域有着广泛的应用.20 世纪 70 年代后期和 80 年代初期,机器学习研究者 J.Ross Quinlan 提出了 ID3 算法以后,决策树就在机 ...
- 机器学习之路:python 集成分类器 随机森林分类RandomForestClassifier 梯度提升决策树分类GradientBoostingClassifier 预测泰坦尼克号幸存者...
python3 学习使用随机森林分类器 梯度提升决策树分类 的api,并将他们和单一决策树预测结果做出对比 附上我的git,欢迎大家来参考我其他分类器的代码: https://github.com/l ...
最新文章
- spring jpa mysql集群_Spring Boot系列之十四 JPA 连接mycat
- Qt应用程序主窗口之一:主窗口框架
- Linux常用命令——paste
- CV:利用cv2自带两步法haarcascade_frontalcatface.xml实现对猫脸检测
- python 怎么查看变量的数据类型
- isinfinite_Java Double类isInfinite()方法与示例
- String | 344. Reverse String
- c语言程序设计第一课作业,C语言程序设计第一课答案.doc
- Acrobat Pro DC 教程,如何从 PDF 中提取页面?
- JavaScript学习——JavaScript 条件 语句 switch语句 while语句
- 电脑telnet工具如何开启
- dtim 间隔(Delivery Traffic Indication Message)
- 【opencvsharp】opencvsharp_samples.core示例代码笔记
- Django源码cookie解读:关于中文cookie会被吞掉并截断的问题。
- 浅谈单线程的Redis快的原因是什么
- PHP中高级面试题2018(1)
- Spring事务管理一:Spring事务管理的优点
- BLE蓝牙芯片KT1025A程序代码和调试总结
- 基于Matlab的倍相buck降压电路仿真
- 如何做一名成功的业务员 【转帖】