SAS-决策树模型
决策树是日常建模中使用最普遍的模型之一,在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-决策树模型的更多相关文章
- 决策树模型 ID3/C4.5/CART算法比较
决策树模型在监督学习中非常常见,可用于分类(二分类.多分类)和回归.虽然将多棵弱决策树的Bagging.Random Forest.Boosting等tree ensembel 模型更为常见,但是“完 ...
- 决策树模型比较:C4.5,CART,CHAID,QUEST
(1)C4.5算法的特点为: 输入变量(自变量):为分类型变量或连续型变量. 输出变量(目标变量):为分类型变量. 连续变量处理:N等分离散化. 树分枝类型:多分枝. 分裂指标:信息增益比率gain ...
- chapter02 三种决策树模型:单一决策树、随机森林、GBDT(梯度提升决策树) 预测泰坦尼克号乘客生还情况
单一标准的决策树:会根每维特征对预测结果的影响程度进行排序,进而决定不同特征从上至下构建分类节点的顺序.Random Forest Classifier:使用相同的训练样本同时搭建多个独立的分类模型, ...
- ML——决策树模型
决策树模型 优点:高效简单.易于理解,可以处理不相关特征. 缺点:容易过拟合,训练集在特征上是完备的 决策树过程:特征选择.划分数据集.构建决策树.决策树剪枝 决策树选择最优的划分特征,将数据集按照最 ...
- 用决策树模型求解回归问题(regression tree)
How do decision trees for regression work? 决策树模型既可以求解分类问题(对应的就是 classification tree),也即对应的目标值是类别型数据, ...
- 机器学习之使用sklearn构造决策树模型
一.任务基础 导入所需要的库 import matplotlib.pyplot as plt import pandas as pd %matplotlib inline 加载sklearn内置数据集 ...
- Python 实现基于信息熵的 ID3 算法决策树模型
版本说明 Python version: 3.6.6 |Anaconda, Inc.| (default, Jun 28 2018, 11:21:07) [MSC v.1900 32 bit (Int ...
- R_针对churn数据用id3、cart、C4.5和C5.0创建决策树模型进行判断哪种模型更合适
data(churn)导入自带的训练集churnTrain和测试集churnTest 用id3.cart.C4.5和C5.0创建决策树模型,并用交叉矩阵评估模型,针对churn数据,哪种模型更合适 决 ...
- 吴裕雄 python 机器学习——分类决策树模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...
- 吴裕雄 python 机器学习——回归决策树模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...
随机推荐
- ElasticSearch CPU和内存占用高的优化记录
公司最近使用ElasticSearch作为数据报表汇总引擎.上线三个月累计数据800万,但是今天突然大面积出现查询超时,上服务器查看服务运行情况,发现cpu使用率高达300% mem 使用率也到了90 ...
- 转 Mac 下自带的中文输入法不显示汉字提示问题
原文 https://blog.csdn.net/moxi_wang/article/details/50721326 当时聊天的时候不知道那个手指头按错了什么键 导致Mac自带的中文输入法不能提示显 ...
- 根据某字段将其他字段进行拼接的两种方法(SYS_CONNECT_BY_PATH及wm_concat)
秘书姐姐说想知道她发起的所有流程,现在都到谁审批了.由于一条流程当前审批人可能有多个,故需根据单据编号(djbh)将审批人拼接到一个字段中. 说明: wfn审批历史记录表,djbh 单据编号,pk_c ...
- hello.java分析
如下图源码所示: 该段代码声明了一个entity实体类,该类有一个变量name,对该变量写了对应的get和set方法.类中还有一个空的构造方法hello(). @RequestScoped用于指定一个 ...
- 【笔记】 laravel 的路由
路由简介 : 请求对应着路由,将用户的请求转发给相应的程序进行处理 建立URL与程序之间的映射 Laravel中的请求类型:get.post.put.patch.delete Route::get ...
- .net第四章内容总结
4.2) mdi 多文档界面 创建子窗体的childForm.text书上的做法childformnumber不存在 于是我自定义一个childforNumber起始为1: 在窗体下面显示所有已经 ...
- 如何让input框显示在一行?
案例: <input type="float:left" value="aaaa"> <input type="float:left ...
- 经典问题----最短路径(Floyd弗洛伊德算法)(HDU2066)
问题简介: 给定T条路,S个起点,D个终点,求最短的起点到终点的距离. 思路简介: 弗洛伊德算法即先以a作为中转点,再以a.b作为中转点,直到所有的点都做过中转点,求得所有点到其他点的最短路径,Flo ...
- frost_vex_01
int inc = 0; //整数inc等于0 while(inc < 6){ //inc在小于6的范围内递增 if(rand(@ptnum + inc + ch("seed" ...
- Linux----------mysql基础
目录 一.数据库介绍 1.1 数据库的优点 1.2 数据库的基本功能 1.3数据库的类型 1.4 关系型数据的组成 1.5 关系型数据库的常用组件 1.6 SQL语句 1.7 mysql命令使用 1. ...