SAS数据挖掘实战篇【六】

6.3
 决策树
决策树主要用来描述将数据划分为不同组的规则。第一条规则首先将整个数据集划分为不同大小的

子集,然后将另外的规则应用在子数据集中,数据集不同相应的规则也不同,这样就形成第二层数

据集的划分。一般来说,一个子数据集或者被继续划分或者单独形成一个分组。



1  问题背景
预测模型案例概述
一家金融服务公司为客户提供房屋净值贷款。该公司在过去已经拓展了数千净值贷款服务。但是,

在这些申请贷款的客户中,大约有20%的人拖欠贷款。通过使用地理、人口和金融变量,该公司希

望为该项目建立预测模型判断客户是否拖欠贷款。


2  输入数据源
分析数据之后,该公司选择了12个预测变量来建立模型判断贷款申请人是否拖欠。回应变量(目标

变量)标识房屋净值贷款申请人是否会拖欠贷款。变量,以及它们的模型角色、度量水平、描述,在

下表中已经显示。SAMPSIO.HMEQ数据集中的变量,

SAMPSIO库中的数据集HMEQ包括5960个观测值,用来建立和比较模型。该数据集被划分为训练

集、验证集和测试集,从而对数据进行分析。


3  创建处理流程图
添加结点



连接结点



定义输入数据
为了定义输入数据,右键输入数据源结点,选择打开菜单,弹出输入数据对话框。默认情况下,数据选项

卡是激活的。

点击select按钮选择数据集,





4  理解原数据样本
所有分析包在分析过程中必须定义如何使用这些变量。为了先对这些变量进行评估,EM采用元数据方式

处理。默认方式下,它从原始数据集中随即抽取2000个观测样本,用这些信息给每个变量设置模型角色

和度量水平。它也计算一些简单统计信息显示在附加选项卡中。
如果需要更多的样本量,点击右下角的Change按钮,设置样本量。

评估这些元数据创建的赋值信息,可以选择变量选项卡查看相关信息。

从图中可以发现,Name列和Type列不可用。这些列表示来自SAS数据集的信息在这个结点中不能

修改。名称必须遵循命名规范。类型分为字符型和数值型,它将影响该变量如何使用。EM使用Type

的值和元数据样本中级别的数量初始化每个变量的模型角色和度量级别。


5  定义目标变量
在该分析中,BAD是一个响应变量,将BAD变量的模型角色设置为target类型。右键BAD变量的Model

Role列,设置模型角色。

6  观察变量分布

我们可以根据元数据样本观察每个变量的分布情况。譬如,查看BAD变量的分布情况,右键BAD变量

的Name列查看BAD的分布情况。

7  修改变量信息

为了保证剩下的变量拥有正确的模型角色和度量级别,将DEROG和DELINQ的度量级别设置为有序

(Ordinal)。右键DEROG变量的Measurement列,设置为Ordinal。


8  查看描述性统计信息
点击Interval
Variables选项卡和class variables选项卡可以查看变量的基本统计信息。


9  观察数据划分结点的默认设置
打开数据划分结点,默认方式下,划分选项卡是被激活的。数据划分方法显示在方法显示面板。

EM对输入数据集进行抽样,将原数据集分成训练、验证和测试数据集。默认情况下,采用简单随机抽

样方法。并且,可以选择层次抽样或者自定义抽样方法。另外,还可以为初始随机抽样过程定义随机种子。

在选项卡的右边,可以设置训练、验证和测试数据集的比例,它们之和为100%。


打开树节点,设置决策树模型,在变量选项卡中查看变量的状态、模型角色和度量方式。(如果度

量方式不准确,在树节点中是不能修改的。需要在数据源输入节点中进行更正)并且,树节点可以

处理缺失值现象。

选择基本选项卡,很多构建决策树的选项在该选项卡设定。划分标准依赖于目标变量的度量方式。对

于二值或者名义目标变量,默认的划分标准是重要水平为0.2的卡方检验。另外,也可以选择熵方法或

者基尼系数方法作为划分标准。对于顺序目标变量,只有熵和基尼方法可选。对于区间变量,有两种

划分标准选择,默认方法和F检验或者方差检验。
在设置树的增长和大小中,默认方式下,只有二值划分是允许的,树的最大深度是6,最小的观测值

数量是1。然而,为了划分节点依旧需要设置节点中观测值数量。默认的在训练集中的观测值数量是100。



关闭树节点,运行树节点,查看运行结果。
在查看菜单,点击树状结构,查看决策树型图
在该图中,可以发现6个叶子节点。




6.4  神经网络
案  例
某公司要预测哪些用户会对邮件促销活动产生响应。目标变量是二值变量,标识用户是否对最近

的促销产生响应。该模型的输入变量是年龄、收入、婚否以及最近六个月是否产生购买。在BUY



数据集中包含10000名用户信息和是否对最近的促销产生响应。对于每个用户,记录了12个输入

变量。
该模型的目标就是建立预测模型,根据已有的输入预测目标变量的值。该模型可以用来寻找某次

相似促销活动响应的新客户的目标值。

1建立流程图
Respond为目标变量,设置age和income也为输入变量,在区间变量选项卡,可以发现age

和income变量存在缺失值,关闭输入数据源节点。


3  设置数据划分节点
设置训练集大小为40,验证集大小为60,测试集为0,关闭冰保存该节点。在该模型中,还

加入了替换节点,从而处理缺失值。


4  构建多层感应器模型
打开神经网络节点

可以通过定义下面任何一种标准来选择最优模型:
(1) 平均错误
(2) 误分类率
(3) 利润/损失
在该模型中,由于没有创建利润/损失向量,选择平均错误率作为选择模型的标准。在基本选项卡

中,定义网络结构,运行次数,训练方法和训练算法。

 
 
隐藏神经元执行内部计算,提供非线性计算,从而使神经网络更加强大。为了设置隐藏神经元的标准,

可以做如下选择:
 
 高度噪声数据
 
 中度噪声数据
 
 低度噪声数据
 
 无噪声数据
 
 设置次数
如果在有噪声数据的基础上选择隐藏神经元的数目,神经元的数目决定了运行次数。并且,它是在输入

层数的总数,目标层次的总数,数据集中噪声数据集的大小。在该实例中,定义为3个层次的隐藏神经元




 
在基本选项卡中,定义基本运行方法,训练算法和运行次数。然后,选择输出选项卡,设置训练

集、验证集和测试集。
关闭该节点,并运行。


5  查看结果
选择权重选项卡,查看所有的权重信息,神经网络训练模型的系数。
选择图形选项卡,每个方形的大小就是权重的比例,颜色表示符号。红色方形表示正权重,蓝色方形

表示负权重。


选择绘图选项卡,该图形绘制了训练数据集和验证数据集的错误。然而,额外的迭代轻微地改善训练

数据集的拟合度,验证集的性能相对于前几次迭代并没有持续提高。




为了使用验证集,打开选择选项,展开前面的数据集列表,选择验证数据集。


点击ok,回到insight节点设置窗口。
点击整个数据集单选按钮,关闭该节点,并且保存。
http://www.cda.cn/view/17222.html

运行insight节点,查看结果,在分析菜单中,选择rotating
plot。
P_RESPOND1的值就是根据神经网络模型预测respond值为1的概率。设置P_RESPOND1为Y,

AGE为Z,INCOME为X,确定即可,从而完成绘图。
关闭旋转绘图窗口以及数据集

SAS数据挖掘实战篇【六】的更多相关文章

  1. SAS数据挖掘实战篇【五】

    SAS数据挖掘实战篇[五] SAS--预测模型 6.1 测模型介绍 预测型(Prediction)是指由历史的和当前的数据产生的并能推测未来数据趋势的知识.这类知识可以被认为是以时 间为关键属性的关联 ...

  2. SAS数据挖掘实战篇【四】

    SAS数据挖掘实战篇[四] 今天主要是介绍一下SAS的聚类案例,希望大家都动手做一遍,很多问题只有在亲自动手的过程中才会有发现有收获有心得. 1 聚类分析介绍 1.1 基本概念 聚类就是一种寻找数据之 ...

  3. SAS数据挖掘实战篇【三】

    SAS数据挖掘实战篇[三] 从数据挖掘概念到SAS EM模块和大概的流程介绍完之后,下面的规划是[SAS关联规则案例][SAS聚类][SAS预测]三个案例的具体操作步骤,[SAS的可视化技术]和[SA ...

  4. SAS数据挖掘实战篇【二】

    SAS数据挖掘实战篇[二] 从SAS数据挖掘实战篇[一]介绍完目前的数据挖掘基本概念之外,对整个数据挖掘的概念和应用有初步的认识和宏观的把握之后,我们来了解一下SAS数据挖掘实战篇[二]SAS工具的应 ...

  5. SAS数据挖掘实战篇【一】

    SAS数据挖掘实战篇[一] 1数据挖掘简介 1.1数据挖掘的产生 需求是一切技术之母,管理和计算机技术的发展,促使数据挖掘技术的诞生.随着世界信息技术的迅猛发展,信息量也呈几何指数增长,如何从巨量.复 ...

  6. SAS数据挖掘实战篇【七】

    SAS数据挖掘实战篇[七] 6.5  SAS EM数据挖掘-----预测模型 1  问题定义 目标:建立模型预测贷款申请的信用状态,选择最优的模型来预测和减少损失. 数据集:SAMPSIO.DMAGE ...

  7. Spring Boot 揭秘与实战(六) 消息队列篇 - RabbitMQ

    文章目录 1. 什么是 RabitMQ 2. Spring Boot 整合 RabbitMQ 3. 实战演练4. 源代码 3.1. 一个简单的实战开始 3.1.1. Configuration 3.1 ...

  8. 构建NetCore应用框架之实战篇(六):BitAdminCore框架架构小结

    本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性. 构建NetCore应用框架之实战篇系列 一.小结 1.前面已经完成框架的第一个功能,本篇做个小结. 2.直接上 ...

  9. 2天驾驭DIV+CSS (实战篇)(转)

     这是去年看到的一片文章,感觉在我的学习中,有不少的影响.于是把它分享给想很快了解css的兄弟们.本文是实战篇. 基础篇[知识一] “DIV+CSS” 的叫法是不准确的[知识二] “DIV+CSS” ...

随机推荐

  1. VSCode配合chrome浏览器调试cocos2d js项目

    1.准备阶段 具备调试功能的VSCode(我的是在win10上,版本是1.17.1) 在VSCode里下载安装Debugger for Chrome扩展插件. 2.具体操作 创建一个cocosjs工程 ...

  2. oracle监听启动很慢

    TNS-12531: TNS:cannot allocate memory 首先查看内存,free -m 发现当前的空闲内存还有很多,那就不是内存不足的问题 想到之前重启过数据库服务器,查看主机名ho ...

  3. Django学习系列11:在服务器中处理POST请求

    之前的代码还没有为表单指定action=属性,因此提交表单默认返回之前渲染的页面,即“/”,这个由视图函数home_page处理.下面修改这个视图函数,让它能处理POST请求. 这意味着要为视图函数h ...

  4. Java8中重要的收集器Collector

    Collector介绍 Java8的stream api能很方便我们对数据进行统计分类等工作,函数式编程的风格让我们方便并且直观地编写统计代码. 例如: Stream<Integer> s ...

  5. 用xshell连接l自己的inux

    有时候连接会提示失败(当然确保账号密码没错),这里需要安装一个服务,ssh服务器 1)ubuntu安装ssh服务器 sudo apt-get install openssh-server 2)出现问题 ...

  6. ArrayMatched

    import os from jinja2 import Environment,FileSystemLoader def generateNewLackArray(ArrayList,count,T ...

  7. 谨慎使用mysql的replace into(转载)

    MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO. MySQL 在数据冲突时实际上是删掉了旧记录,再写入 ...

  8. git最最最最...常用命令

    使用git 也有一段时间了,但是一直没有好好的去学下:今天刚好有空,就把自己不足的地方补了一下:废话就不多说了,直接步入正题: 1:git 如何提交代码 以及 如何拉代码 git clone可以将远程 ...

  9. nginx第二天

    nginx配置文件 配置文件结构 全局配置(user.worker_processes.error_log.pid) events(网络连接相关,worker_connections) http(最重 ...

  10. 手机端 设置html上font-size的值 使用rem

    在head标签上加入: (function() { var b = navigator.userAgent; ipad = b.match(/(iPad).*OS\s([\d_]+)/) ? true ...