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

简介: SAS分类决策树预测贷款申请评分剪枝和结果可视化

分类树的一个常见用途是预测抵押贷款申请人是否会拖欠贷款。数据包含对 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 LAeL
               DtInLa Mrue ae J;
   prune costcomplexity;

这 MAXDEPTH= 选项指定要生长的树的最大深度为 5。

Bad 在等号左侧 指定 MODEL 语句表明它是因变量。

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

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

FILE= 选项 CODE 语句请求将 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 语句中包含新数据表 。新数据表必须包含与用于构建树模型的数据相同的变量,但不能包含您现在要预测的未知因变量。

相关文章
|
6月前
|
机器学习/深度学习 数据可视化 算法
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
116 10
|
6月前
|
机器学习/深度学习 数据可视化 搜索推荐
PYTHON条件生存森林模型CONDITIONAL SURVIVAL FOREST分类预测客户流失交叉验证可视化|数据分享
PYTHON条件生存森林模型CONDITIONAL SURVIVAL FOREST分类预测客户流失交叉验证可视化|数据分享
|
6月前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
|
6月前
|
机器学习/深度学习 算法 数据可视化
【视频】从决策树到随机森林:R语言信用卡违约分析信贷数据实例|数据分享
【视频】从决策树到随机森林:R语言信用卡违约分析信贷数据实例|数据分享
|
6月前
|
机器学习/深度学习 移动开发 算法
经济学:动态模型平均(DMA)、动态模型选择(DMS)、ARIMA、TVP预测原油时间序列价格
经济学:动态模型平均(DMA)、动态模型选择(DMS)、ARIMA、TVP预测原油时间序列价格
|
6月前
|
数据可视化 安全 数据挖掘
数据分享|R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化
数据分享|R语言用主成分分析(PCA)PCR回归进行预测汽车购买信息可视化
|
6月前
|
机器学习/深度学习 移动开发 Go
R语言经济学:动态模型平均(DMA)、动态模型选择(DMS)预测原油时间序列价格
R语言经济学:动态模型平均(DMA)、动态模型选择(DMS)预测原油时间序列价格
|
6月前
|
数据可视化
R语言KNN模型分类信贷用户信用等级数据参数调优和预测可视化|数据分享
R语言KNN模型分类信贷用户信用等级数据参数调优和预测可视化|数据分享
|
6月前
|
数据可视化
R语言汇率、股价指数与GARCH模型分析:格兰杰因果检验、脉冲响应与预测可视化
R语言汇率、股价指数与GARCH模型分析:格兰杰因果检验、脉冲响应与预测可视化
|
6月前
|
机器学习/深度学习 数据可视化
数据分享|R语言用RFM、决策树模型顾客购书行为的数据预测
数据分享|R语言用RFM、决策树模型顾客购书行为的数据预测