文档章节

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

C
 Claroja
发布于 2017/05/08 23:21
字数 366
阅读 150
收藏 0

1.观察数据集

head(iris)

R语言实现分层抽样以iris数据集为例
选取数据集中前6个数据,我们可以看出iris数据集一共有5个字段。

dim(iris)

R语言实现分层抽样以iris数据集为例
iris数据集一共有150条数据,5个字段

summary(iris)

R语言实现分层抽样以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)

R语言实现分层抽样以iris数据集为例
观察训练集和测试集的字段和数据数目。符合我们的抽样预期。

head(data_train);head(data_test)

R语言实现分层抽样以iris数据集为例
观察训练集和测试集的前几条数据。

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")

保存数据集

© 著作权归作者所有

C
粉丝 0
博文 128
码字总数 44892
作品 0
南京
私信 提问
Scikit-Learn实战之——交叉验证

本文将从以下几个方面进行介绍: 简单地讲训练集/测试集分割进行模型验证的缺点; K折交叉验证的做法和优点; 交叉验证如何用于选择调节参数、选择模型、选择特征; 对交叉验证进行升级。 1....

u013709270
2017/10/04
0
0
R语言利用sample函数抽样

sample基本用法 参数解释:x表示所要抽样数据,size表示抽样个数,replace为T表示采取有重复的抽样 代码目的:在1到10间有放回的随机抽取5个数 对数据框抽取 按一定比例抽取 代码目的:将数据...

周一ing
2018/11/07
0
0
R语言基础之第五部分 总结数据信息

R语言基础之第五部分 总结数据信息 1、以R自带数据集airquality为例 2、以R自带数据集Titanic为例 后续请参考: R语言基础之第一部分 : 5种数据对象类型 R语言基础之第二部分 : 操纵数据取子...

多美丽很美丽
08/25
0
0
logistic逻辑回归公式推导及R语言实现

Logistic逻辑回归 Logistic逻辑回归模型 线性回归模型简单,对于一些线性可分的场景还是简单易用的。Logistic逻辑回归也可以看成线性回归的变种,虽然名字带回归二字但实际上他主要用来二分类...

知然
2018/09/25
0
0
给我两小时!带你发动R语言数据挖掘的高铁,一往直前!

主题: 数据挖掘快速上手之R语言实践 随之DT时代的到来,传统的统计分析方法已经不能解决海量高维数据,如何运用数据挖掘手段对复杂数据进行数据处理、数据可视化、数据建模及模型解读是每一...

李晓文
2017/04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
5
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部