SAS学习笔记(五)——关于样本划分
2014-03-02 15:21
351 查看
数据集可划分为训练数据集和测试数据集
划分时要注意:随机性和等比例分层(训练数据和测试数据有相同比例的目标事件)
/*进行等比例分层之前要对分层变量进行排序*/
proc sort data=data_base;
by y; /*y是目标变量*/
run;
/*surveyselect过程*/ 即设置参数的过程
proc surveyselect data=data_base
out=data_base1
samprate=.6667 /*设定分层的比例,例如训练样本为n1,测试样本为n2,那么samprate=n1/(n1+n2)*/
seed=1234 /*当设定为0时,每次运行surveyselect过程将产生不同的随机序列,因此每次得到的训练数据集和测试数据集都不一样;当取值大于0,就会产生
相同的随机序列,因此可以得到相同的训练和测试数据集*/
outall;/* 原始数据全部输出,添加标识变量1和0,分别属于训练和测试数据集*/
strata y;/*定义分层变量,使得最后的目标变量占比相同*/
run;
/*输出分层抽样的比例图*/
proc freq data=data_base1;
tables selected*y;
run;
/*输出训练和测试数据集*/
data train validation;
set data_base1;
if selected=1 then output train;
else output validation;
run;
以上是数据充足的情况下,数据不充足的时候,要采用交叉验证法:
1)data_base分为A(1/3)和data_base1(2/3);
2)data_base1分为B(1/2)和C(1/2);
训练数据集 测试数据集
B C A
A B C
A C B
为了建立可靠的预测模型,目标事件观测数占训练数据集总观测数比例不应该低于10%,一般10%-15%
这样的样本成为平衡样本。
主要处理在samprate=(samprate_1,samprate_2……samprate_n)
这里参数是目标变量中各层级的采样比例,例如目标变量是性别,则男女分别的采样比例。
划分时要注意:随机性和等比例分层(训练数据和测试数据有相同比例的目标事件)
/*进行等比例分层之前要对分层变量进行排序*/
proc sort data=data_base;
by y; /*y是目标变量*/
run;
/*surveyselect过程*/ 即设置参数的过程
proc surveyselect data=data_base
out=data_base1
samprate=.6667 /*设定分层的比例,例如训练样本为n1,测试样本为n2,那么samprate=n1/(n1+n2)*/
seed=1234 /*当设定为0时,每次运行surveyselect过程将产生不同的随机序列,因此每次得到的训练数据集和测试数据集都不一样;当取值大于0,就会产生
相同的随机序列,因此可以得到相同的训练和测试数据集*/
outall;/* 原始数据全部输出,添加标识变量1和0,分别属于训练和测试数据集*/
strata y;/*定义分层变量,使得最后的目标变量占比相同*/
run;
/*输出分层抽样的比例图*/
proc freq data=data_base1;
tables selected*y;
run;
/*输出训练和测试数据集*/
data train validation;
set data_base1;
if selected=1 then output train;
else output validation;
run;
以上是数据充足的情况下,数据不充足的时候,要采用交叉验证法:
1)data_base分为A(1/3)和data_base1(2/3);
2)data_base1分为B(1/2)和C(1/2);
训练数据集 测试数据集
B C A
A B C
A C B
为了建立可靠的预测模型,目标事件观测数占训练数据集总观测数比例不应该低于10%,一般10%-15%
这样的样本成为平衡样本。
主要处理在samprate=(samprate_1,samprate_2……samprate_n)
这里参数是目标变量中各层级的采样比例,例如目标变量是性别,则男女分别的采样比例。
相关文章推荐
- SAS学习笔记(七)——关于异常值处理
- SAS学习笔记(六)——关于数据格式的SAS函数
- SAS学习笔记(四)——关于数据整合的几个细节
- Lua中关于函数库基本操作学习笔记
- 关于利用矩形,圆和多边形选择动态GraphicLayer上的Graphic的研究(学习笔记)
- java学习笔记——关于环境变量JAVA_HOME,Path和Clathpath
- 深度学习训练中关于数据处理方式--原始样本采集以及数据增广
- 一份关于深度学习论文的总结笔记
- MySQL学习笔记(五):关于max_allowed_packet错误的问题
- 关于Google Earth Engine(GEE)学习笔记搬家说明
- 深度学习笔记之关于基本思想、浅层学习、Neural Network和训练过程(三)
- 关于堆栈的算法...对于july大神的文章的学习笔记
- swift 关于 toolbar 学习笔记
- 关于SQLServer2005的学习笔记——树形结构问题
- 【学习笔记】关于二叉树
- 今日学习笔记 关于S3C2440时钟设置的理解
- 《Javascript高级程序设计》(第2版)学习笔记13--关于事件
- COCOS学习笔记--关于使用cocostudio打安卓包
- 黑马程序员学习笔记——关于BufferedInputStream
- Struts-2.0学习笔记,关于ognl