拓端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 个观察值。

  1.   /* 将变量名称转换为混合大小写 */
  2.   data my.hm;
  3.   length Bd oan Motue Value 8 Reason Job $7
  4.    
  5.    

显示 的前 10 个观测值。

输出数据的部分列表 

拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

创建分类决策树

以下语句创建分类树:

  1.    
  2.   proc maxdepth=5;
  3.   model Bad = Dei o JbIq as LAeL
  4.   DtInLa Mrue ae J;
  5.   prune costcomplexity;

指定要生长的树的最大深度为 5。

Bad 在等号左侧表明它是因变量。

因为没有包含 GROW 语句,所以 PROC TREEPLIT 默认使用熵度量,它计算增长树的增益。语句要求进行成本复杂性修剪。

声明要求将观察结果 Hmeq 划分为不相交的子集以进行模型训练和验证。随机选择观测值作为验证子集,概率为 0.3;为训练子集选择剩余的观察值。

FILE= 选项语句请求将 SAS DATA 步得分代码保存到名为 trc.sas.

树形图

最终树的概览图

拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

如绘图图例中的颜色所示,为终端节点中的观察分配了 Bad=0 或 =1 的预测。叶节点中的第一个条形显示与训练分区中=0 或 =1Bad的预测相匹配的因变量的比例, 叶节点中的第二个条形显示与验证分区中匹配的因变量的比例。线的粗细表示哪些节点具有更多的总观测值。

树形图在是树顶部的详细视图。

详细树形图

拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

默认情况下,此视图提供有关树的前三个级别的详细拆分信息,包括根级别。每个节点上方的拆分规则显示拆分变量和拆分值;该规则确定来自父节点的哪些观察值包含在节点中。节点内表的第一行提供节点标识符。第二行提供训练观察的数量,后跟反斜杠,然后是验证观察的数量。如果在该点发生分类,第三行显示该节点中观察的预测因变量,以及训练观察与观察到的因变量的比例。这通过反斜杠与验证观察的比例分开。

显示最终树的拟合统计量

输出 :树性能

树分裂程序


拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

显示修剪图

修剪图

拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

此图显示修剪树时训练和验证数据的错误分类率。垂直线显示选定的最终树,它对验证数据具有最低的误分类率。

创建评分代码并对新数据进行预测评分

除了查看有关树模型的信息之外,您可能有兴趣应用该模型来预测因变量未知的其他数据表中的因变量。您可以运行 SAS DATA 步代码对新数据进行评分。以下是示例:

  1.   data scd;
  2.   set smo.hq;
  3.   %include 'tc.sas';
  4.   run;

显示 的部分列表 。

输出 :评分 数据的部分列表


拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

数据表包含由分数代码创建的 13 个原始变量和 4 个新变量。变量 PA1 是这片叶子中训练观察的比例 BAD=1;这个变量可以解释为违约概率。该变量 IAD 表示观测值的 BAD 预测值。

您可以使用前面的语句对新数据进行评分,方法是在 SET 语句中包含新数据表 。新数据表必须包含与用于构建树模型的数据相同的变量,但不能包含您现在要预测的未知因变量。


拓端tecdat|SAS分类决策树预测贷款申请评分剪枝和结果可视化

最受欢迎的见解

1.从决策树模型看员工为什么离职

2.R语言基于树的方法:决策树,随机森林

3.python中使用scikit-learn和pandas决策树

4.机器学习:在SAS中运行随机森林数据分析报告

5.R语言用随机森林和文本挖掘提高航空公司客户满意度

6.机器学习助推快时尚精准销售时间序列

7.用机器学习识别不断变化的股市状况——隐马尔可夫模型的应用

8.python机器学习:推荐系统实现(以矩阵分解来协同过滤)

9.python中用pytorch机器学习分类预测银行客户流失

上一篇:拓端tecdat|Python多项式Logistic逻辑回归进行多类别分类和交叉验证准确度箱线图可视化


下一篇:拓端tecdat|Python用GARCH、离散随机波动率模型DSV模拟和估计股票收益时间序列与蒙特卡洛可视化