R语言实现分层抽样(Stratified Sampling)以iris数据集为例
R语言实现分层抽样(Stratified
Sampling)以iris数据集为例
1.观察数据集
head(iris)
Sampling)以iris数据集为例">
选取数据集中前6个数据,我们可以看出iris数据集一共有5个字段。
dim(iris)
Sampling)以iris数据集为例">
iris数据集一共有150条数据,5个字段
summary(iris)
Sampling)以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)
Sampling)以iris数据集为例">
观察训练集和测试集的字段和数据数目。符合我们的抽样预期。
head(data_train);head(data_test)
Sampling)以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")
保存数据集
R语言实现分层抽样(Stratified Sampling)以iris数据集为例的更多相关文章
- R语言实战(一)介绍、数据集与图形初阶
本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章 R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...
- R语言randomForest包实现随机森林——iris数据集和kyphosis数据集
library(randomForest)model.forest<-randomForest(Species~.,data=iris)pre.forest<-predict(model. ...
- R语言AMORE包实现BP神经网络——German数据集
library(AMORE)data<-read.table('G:\\dataguru\\ML\\ML09\\基于BP网络的个人信贷信用评估\\基于BP网络的个人信贷信用评估\\german. ...
- 第五篇:R语言数据可视化之散点图
散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制 ...
- 第二篇:R语言数据可视化之数据塑形技术
前言 绘制统计图形时,半数以上的时间会花在调用绘图命令之前的数据塑型操作上.因为在把数据送进绘图函数前,还得将数据框转换为适当格式才行. 本文将给出使用R语言进行数据塑型的一些基本的技巧,更多技术细节 ...
- R语言-向量化操作(apply、tapply、lapply、sapply、mapply、table等)
一.apply函数(对一个数组按行或者按列进行计算): 使用格式为:apply(X, MARGIN, FUN, ...) 其中X为一个数组:MARGIN为一个向量(表示要将函数FUN应用到X的行还是列 ...
- DT包 -- R语言中自定义表格数据
DT 包提供了 JavaScript 库 DataTables 的一个R接口,它使得R对象(矩阵或数据框)可以在HTML页面上显示为表格. 该包的DataTables函数生成的表格提供了数据的筛选.分 ...
- R语言Cairo包的使用
Cairo使用起来非常简单,和基础包grDevices中的函数对应. CairoPNG---grDevices:png(). CairoTIFF---grDevices:tiff(). CairoPD ...
- 用Python实现支持向量机并处理Iris数据集
SVM全称是Support Vector Machine,即支持向量机,是一种监督式学习算法.它主要应用于分类问题,通过改进代码也可以用作回归.所谓支持向量就是距离分隔面最近的向量.支持向量机就是要确 ...
随机推荐
- LUOGU P1965 转圈游戏 (Noip 2013)
传送门 解题思路 比较简单的模拟题,转圈一定有一个循环节,而且循环节长度一定小于m,因为循环节是一个%m的剩余系,然后一遍模拟记录下来循环节,快速幂即可. #include<iostream&g ...
- LL(1),LR(0),SLR(1),LALR(1),LR(1)对比与分析
前言:考虑到这几种文法如果把具体内容讲下来肯定篇幅太长,而且繁多的符号对初学者肯定是极不友好的,而且我相信看这篇博客的人已经对这几个文法已经有所了解了,本篇博客的内容只是对 这几个文法做一下对比,加深 ...
- PhpStorm中terminal窗口字体修改
在PhpStorm–File–Settings–Tools–Terminal中可以看到terminal调用的系统的cmd.exe程序 因此需要做的就是修改系统的cmd.exe中的字体,如下: CMD命 ...
- Java虚拟机系列(五)---垃圾收集(GC)
Java语言最大的优势除了它的平台无关性之外,还有它的自动内存分配和垃圾收集技术,本节我先来总结一下垃圾收集相关的内容.本文将从解答以下三个问题的角度来展开: 1.哪些内存需要回收? 2.什么时候回收 ...
- CSS样式汇总(转载)
1.字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 {font-style: o ...
- APT甲级——A1069 The Black Hole of Numbers
For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...
- 新闻内页 上一篇写一篇问题,ID不连续,不用链表
y要什么链表? 用sql查询上一篇 SELECT id,title FROM t_article WHERE id<10 ORDER BY id DESC LIMIT 1; 用sql查下一篇 S ...
- 给NetBeans配置javafx环境
JavaFX开发环境安装配置,这里给大家介绍一个非常有用的步骤 从Java8开始,JDK(Java开发工具包)包括了JavaFX库. 因此,要运行JavaFX应用程序,您只需要在系统中安装Java8或 ...
- IO流18 --- RandomAccessFile实现数据的读写操作 --- 技术搬运工(尚硅谷)
RandomAccessFile实例化时,需要设置读写模式 示例:复制文件 @Test public void test16() throws IOException { RandomAccessFi ...
- 用py3的nonlocal来打破局部变量间的作用域
nonlocal:用于局部变量,找上层中离当前函数最近一层的局部变量,找到为止,如果在全局找到或找不到,报错. 使用场景:内层函数对外层数据修改/处理