乐趣区

关于数据挖掘:SAS用梯度提升回归树GBDT迁移学习预测抵押贷款拖欠风险和垃圾电子邮件数据

原文链接:http://tecdat.cn/?p=26177 

GBDT 梯度晋升模型由多个决策树组成。预测模型的目标是依据输出预测目标值。GBDT 应用 已知目标值的_训练数据_来创立模型,而后能够将该模型利用于指标未知的观测。如果预测很好地拟合了新数据,则该模型能够 很好地  _推广_。良好的概括是预测工作的次要指标。预测模型可能很好地拟合了训练数据,但泛化性很差。

决策树  是一种预测模型已在统计和人工智能社区自主开发。GRADBOOST 通过拟合一组加性树来创立预测模型。

GBDT

梯度晋升模型的常见用法是预测抵押贷款申请人是否会拖欠贷款。

本示例应用屋宇净值数据表来构建梯度晋升模型,该模型用于对数据进行评分,并可用于对无关新贷款申请人的数据进行评分。

表 1:屋宇净值数据表中的变量

proc print data=myhmeq(obs=10); run;

显示了的前 10 个察看值。

图 1:局部数据 

图 2:显示“模型信息”表。该表显示了前六行中训练参数的值,以及无关加强模型中树的一些根本信息。

图 2:模型信息

GRADBOOST

图 3 显示“察看值数量”表,该表显示读取和应用了多少察看值。

图 3:察看数

图 4  显示了变量重要性的预计。该图中的行按重要性度量排序。通过对这些数据拟合加强模型得出的论断是,DebtInc 贷款守约率是最重要的预测指标。

图 4:变量重要性

图 5 显示了拟合统计量的前 10 个和最初 10 个察看值。GRADBOOST 以树为单位计算拟合统计信息。随着树数量的减少,拟合统计通常通常会先进步(缩小),而后趋于平稳并在很小的范畴内稳定。

图 5:拟合统计

示例:应用先前的晋升模型对新数据评分

本示例阐明了如何保留模型表,而后再应用模型表对数据表进行评分。

数据集来自一个钻研,是否进行分类的电子邮件是垃圾电子邮件(编码为 1)或否(编码为 0)。数据集蕴含 4,601 个观测值和 59 个变量。因变量是电子邮件是否被视为垃圾邮件的二进制批示符。共有 57 个预测变量,用于记录电子邮件中某些罕用单词和字符的频率以及大写字母的间断序列的长度。

训练一个晋升模型并对训练数据表评分。

该表显示了统计信息。

输入 1.1:拟合统计信息,在运行时拟合

以下语句应用以前保留的模型对新数据评分:

proc gradboost data=mil inmodel=mycst_model;
   output out=mycas.score_later;
   ods output FitStatistics=fit_later;
run;

如果指标存在于新的得分数据表中,则会看到得分数据的统计信息。在此示例中,计分的数据与训练数据雷同。

输入 12.1.2:拟合统计,当前拟合

此示例阐明,GRADBOOST 过程能够应用先前保留的加强模型对输出数据表进行评分,该模型 在先前的过程运行中保留。如果要正确对新数据表评分,则肯定不要批改该表  gradboost_model,因为这样做可能会使结构的晋升模型有效。与对新数据进行任何评分一样,必须存在在模型创立中应用的变量,以便为新表评分。

示例:迁徙学习

此示例阐明了迁徙学习。迁徙学习通过辅助数据来加强训练数据,并尝试升高不代表原始训练数据的察看后果的影响。原始训练数据通常来自 难以获得数据的  _指标_人群。此示例在不应用迁徙学习的状况下运行了 GRADBOOST 两次:一次蕴含所有数据,一次不蕴含辅助观测。所有模型均应用指标人群的数据(不是训练数据的一部分)进行评估。蕴含迁徙学习的模型应该比没有迁徙学习的模型更适合,只管不如去除辅助观测的模型好。

接下来的 DATA 步骤将生成三个数据集:一个用于训练(包含辅助观测),一个没有训练对象的数据集,以及第三个具备训练后果的数据集。

data main mylien myest;
     array x(2)  x1 - x2;

        do i = 1 to n;
           do j = 1 to 2;
              x(j)  = rand('normal', mu);
           end;
           select(datarole);
               when(-1)  output m.test;
               when(0,1) output mytrain mynoAlien;
               when(2)   output myc.train;
           end;
           if i = nhalf then do;
              mu = -mu;
              y  = -y;

首先训练模型,而后再次将模型利用于测试数据和输入拟合统计。当所有观测值的该变量均为零时,将不进行迁徙学习。

选项将 向下加权提早到树 11。

  proc gradboost data=myst inmodel=mycodel;
     output out=my.score;
     ods output FitStatistics=&outfit.;
  run;

将三个模型的均匀平方误差合并到一个表中。

通过模型中树的数量绘制每个模型的均匀平方误差:

             scatterplot y=train_ase
                         x=trees / markerattrs=(color=blue)
                                   name='with'

表明,与迁徙学习相比,迁徙学习的拟合度更好,只管不如从数据中删除所有辅助观测值时的拟合度更好。传递学习的拟合与前 10 棵树没有拟合的状况雷同,因为在此示例中,直到树 11 才开始减权。

输入 2.1:三种模型的 ASE 与树数的比拟


最受欢迎的见解

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

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

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

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

5.R 语言用随机森林和文本开掘进步航空公司客户满意度

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

7. 用机器学习辨认一直变动的股市情况——隐马尔可夫模型的利用

8.python 机器学习:举荐零碎实现(以矩阵合成来协同过滤)

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

退出移动版