决策树是日常建模中使用最普遍的模型之一,在SAS中,除了可以通过EM模块建立决策树模型外,还可以通过SAS代码实现。决策树模型在SAS系统中对应的过程为Proc split或Proc hpsplit,两者基本一样,后者效率更高,但在SAS help都查不到这两个过程步,本文参考相关资料主要介绍Proc split过程。其语法结构为:

Proc split options;

Code options;

Decision decdata options;

Describe options;

Freq variable;

In|input variables/options;

Priors probabilities;

Prune node-identifier;

Score options;

Target variable;

1)在proc split中,​data=指定分析数据集; outimportance=指定输出数据集,包括自变量的重要性;outleaf=指定输出数据集,包括各叶节点的统计指标;outmatrix=指定数据集,包括描述性统计指标;outseq=指定输出数据集,包括子树的统计指标;outtree=指定输出数据集,包括描述树的统计指标;leafsize=指定一个叶节点包含的最少观测数;maxbranch=指定一个节点的最大分枝数;maxdepth=指定最大的数深度;splitsize=指定一个节点分割的最小观测数;subtree=指定选择子树的方法。

proc split data=other.train outimportance=test_1 outleaf=test_2 outmatrix=test_3 outseq=test_4 outtree=test_5;

in arpu mou gprs;

target liwang_flag;

run;

assess=指定模型评估方法,包括impurity、lift、profit、statistic。

criterion=指定决策树分割标准,针对二分类变量和分类变量,Chisq表示pearson卡方,probchisq表示pearson卡方的p值,为默认,entropy表示信息增益,eratio表示信息增益率,gini表示通过gini系数分割;针对定距、定比变量,variance,probe表示F-test的p值,为默认,F表F统计量。其中,ID3算法使用信息增益作为属性分割标准,C4.5、C5.0算法使用信息增益率作为属性分割标准,CART算法使用gini系数作为属性分割标准,CHAID算法使用卡方和F检验作为属性分割标准。

2)code生成data步代码,用来给观测计分,file=指定代码输出文件。

3)decision。

4)describe生成决策树规则的描述,file=指定描述输出文件。

5)freq表示给自变量赋予频数。

6)in或input指定自变量,可以申明多次,在“/”后的level=代表输入变量的类型,interval、ordinal、nominal,默认为interval,当自变量有多个类型时,可以申明多个input,然后后面用level指定变量类型。

7)priors指训练集中目标类的先验概率,与decision互斥,proportional(pro)指各类在训练集中的占比,或直接列出各类占比,如priors‘0’=0.6‘1’=0.4。

8)prune表示剪枝,与intree=和indmsplit=选项合用。

9)score进行计分,data=指定输入数据集,out=指定输出数据集。

10)target指定因变量,在“/”后,level=指定因变量类型,包括binary、nominal、ordinal、interval,默认为interval。

Proc split data=other.train leafsize=50 maxbranch=3 maxdepth=6assess=impurity criterion=chisq;

Input arpu mou gprs/level=interval;

Input product_flag/level=nominal;

Target liwang_flag/level=binary;

Code file='c:\users\edcba123\desktop\rule_1.txt';

Describe file='c:\users\edcba123\desktop\rule_2.txt';

Score data=other.train out=test;

Priors proportional;

Run;

SAS-决策树模型的更多相关文章

  1. 决策树模型 ID3/C4.5/CART算法比较

    决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归.虽然将多棵弱决策树的Bagging.Random Forest.Boosting等tree ensembel 模型更为常见,但是“完 ...

  2. 决策树模型比较:C4.5,CART,CHAID,QUEST

    (1)C4.5算法的特点为: 输入变量(自变量):为分类型变量或连续型变量. 输出变量(目标变量):为分类型变量. 连续变量处理:N等分离散化. 树分枝类型:多分枝. 分裂指标:信息增益比率gain ...

  3. chapter02 三种决策树模型:单一决策树、随机森林、GBDT(梯度提升决策树) 预测泰坦尼克号乘客生还情况

    单一标准的决策树:会根每维特征对预测结果的影响程度进行排序,进而决定不同特征从上至下构建分类节点的顺序.Random Forest Classifier:使用相同的训练样本同时搭建多个独立的分类模型, ...

  4. ML——决策树模型

    决策树模型 优点:高效简单.易于理解,可以处理不相关特征. 缺点:容易过拟合,训练集在特征上是完备的 决策树过程:特征选择.划分数据集.构建决策树.决策树剪枝 决策树选择最优的划分特征,将数据集按照最 ...

  5. 用决策树模型求解回归问题(regression tree)

    How do decision trees for regression work? 决策树模型既可以求解分类问题(对应的就是 classification tree),也即对应的目标值是类别型数据, ...

  6. 机器学习之使用sklearn构造决策树模型

    一.任务基础 导入所需要的库 import matplotlib.pyplot as plt import pandas as pd %matplotlib inline 加载sklearn内置数据集 ...

  7. Python 实现基于信息熵的 ID3 算法决策树模型

    版本说明 Python version: 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:21:07) [MSC v.1900 32 bit (Int ...

  8. R_针对churn数据用id3、cart、C4.5和C5.0创建决策树模型进行判断哪种模型更合适

    data(churn)导入自带的训练集churnTrain和测试集churnTest 用id3.cart.C4.5和C5.0创建决策树模型,并用交叉矩阵评估模型,针对churn数据,哪种模型更合适 决 ...

  9. 吴裕雄 python 机器学习——分类决策树模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...

  10. 吴裕雄 python 机器学习——回归决策树模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...

随机推荐

  1. 前端开发:一个开源、简单易用的jQuery表格插件(DataTables)

    DataTables是一个基于jQuery库的开源(MIT协议)表格插件,支持添加.排序.分页.搜索.过滤等功能,使用简单.广受欢迎,能够与主流前端UI整合(如bootstrap.jQuery UI等 ...

  2. 阿里云物联网套件(iot)设备间通信(M2M)在web端的实践

    之前通过nodejs连接到阿里云物联网mqtt,后又用浏览器连接,总结一下: 由于项目是SPA,使用webpack,关键代码: 同样使用mqtt.js之前先install: npm install - ...

  3. 本地新建git仓库后与远端仓库关联

    背景说明:如果你想把自己的一个项目开源到,需要新建一个本地代码仓库,然后与远端代码库建立关.不想使用git clone 命令去克隆远端新建代码仓库,然后再将我们写好的代码copy到克隆下来的文件夹里, ...

  4. MySQL 8.0.13 下载安装教程

    MySQL是使用最多的数据库,自己电脑上肯定要装一个来多加学习,自己搞不懂的一些东西要多写一些 sql 语句练习. 首先去 mysql 官网下载,地址:https://dev.mysql.com/do ...

  5. Mac OS X L2TP Client Setup

    原文链接:http://www.softether.org/4-docs/2-howto/9.L2TPIPsec_Setup_Guide_for_SoftEther_VPN_Server/5.Mac_ ...

  6. vim中制表符tabstop用法

    设置tabstop成为其它值可能会导致文件在其它地方出现错误有四种主要方法使用tabs在vim里: 1.总是保持tabstop=8,设置softtabstop=4.shiftwidth=4(或3.或任 ...

  7. jQuery案例2

    $(this).index用来获取取到的所有元素的序号 省市联动 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xh ...

  8. hnsdfz -- 6.21 -- day7

    yjq ! yjq ! 今天yjq,感觉yjq好赞啊,路转粉 恩因为题很好所以大致讲一下题解吧 a题是几天前吕老板讲过的…… 一列点上每个点有两个权值ai和bi,每个点可以任选其中一个,但是要求任意一 ...

  9. WPF-MVVM-ICommand接口实现

    一 接口分析MVVM框架的目的就是让视图和业务逻辑分离,各干各的.那么怎样实现分离呢,精髓就是绑定ICommand.先看一下ICommand接口的定义: // // 摘要: // 定义一个命令. [T ...

  10. CCNet: Criss-Cross Attention for Semantic Segmentation 里的Criss-Cross Attention计算方法

    论文地址:https://arxiv.org/pdf/1811.11721v1.pdf  code address: https://github.com/speedinghzl/CCNet 相关论文 ...