zoukankan      html  css  js  c++  java
  • SAS数据挖掘实战篇【六】

    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,确定即可,从而完成绘图。
    关闭旋转绘图窗口以及数据集
  • 相关阅读:
    linux命令---vi编辑器快速定位行数
    Linux如何查找大文件或目录总结
    Xargs用法详解(自创)
    linux如何模糊查找一个文件
    HashMap在什么场景下会由哪些内部方法导致线程不安全,至少给出一种场景
    索引失效(全面总结)
    异常处理(Exception Handling)
    JAVA异常及其异常处理方式
    Activity嵌套多个Fragment实现横竖屏切换
    iOS KVC(Key-Value Coding)
  • 原文地址:https://www.cnblogs.com/amengduo/p/9587565.html
Copyright © 2011-2022 走看看