• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

R语言实现分层抽样(Stratified Sampling)以iris数据集为例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

R语言实现分层抽样(Stratified Sampling)以iris数据集为例

1.观察数据集

head(iris)

 
选取数据集中前6个数据,我们可以看出iris数据集一共有5个字段。

dim(iris)

 
iris数据集一共有150条数据,5个字段

summary(iris)

 
观察各个变量的内容,可以看出前四个变量(Sepal.Length Sepal.Width Petal.Length Petal.Width)都是定量变量,而最后一个(Species)是定性变量,我们将依据最后一个变量作为分层抽样的依据。

library(sampling)

载入分层抽样的包sampling

n=round(3/5*nrow(iris)/3)

计算每一个种类的抽样数目。这里我们按照每种“Species”抽取3/5个样本进行抽样。

sub_train=strata(iris,stratanames=("Species"),size=rep(n,3),method="srswor")
head(sub_train)

stratanames参数是抽样依据的变量,size参数是每个种类抽样的数目,这里我们用上一步计算出来的n作为抽样数目,method是抽样方法,我们选择srswor。

data_train=iris[sub_train$ID_unit,]
data_test=iris[-sub_train$ID_unit,]

将抽样结果分别定义为训练集(data_train)和测试集(data_test)。

dim(data_train);dim(data_test)

 
观察训练集和测试集的字段和数据数目。符合我们的抽样预期。

head(data_train);head(data_test)

 
观察训练集和测试集的前几条数据

data_train;data_test

查看总的抽样结果,这里数据量太大不再给出。

write.csv(data_train,"C:/Users/cnrozh/Desktop/iris_data_train.csv")
write.csv(data_test,"C:/Users/cnrozh/Desktop/iris_data_test.csv")

保存数据集


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap