##本例子使用的是R自带的数据集iris
irisData=iris
##重命名列
names(irisData)=c("萼长","萼宽","瓣长","瓣宽","种类")
##处理后的数据格式如下所示:
>head(irisData, 3)
萼长 萼宽 瓣长 瓣宽 种类
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
## 划分训练集与测试集用分层抽样函数Strata,在3类型鸢尾花数据中各抽取80%作为训练集,保存在变量TrainingSet中;
## 余下的20%作为测试集,保存在变量TestSet中。过程如下所示:
##加载
library(sampling)
nLevel=round(nrow(irisData)*0.8/3,-1)
trainingSamp = strata(irisData,stratanames="种类",size
= rep(nLevel, 3), method="srswor")
#以Species变量作为分层变量
# 分层抽取训练样本,每层nPerLevel个
>trainingSet = getdata(irisData, trainingSamp$ID_unit)
# 训练集
>testSet = getdata(irisData,-trainingSamp$ID_unit)
该博客介绍了如何使用R语言进行分层抽样,以鸢尾花数据集为例,展示了每层抽取80%样本的具体操作过程。
394

被折叠的 条评论
为什么被折叠?



