R-随机抽样选取训练集与验证集

来源:互联网 发布:三菱plc与伺服编程实例 编辑:程序博客网 时间:2024/05/16 12:12

在分类中,常常要将数据集分为两部分,一部分作为训练数据集,一部分作为验证数据集(测试数据集);R语言中的sample()函数能够从数据集中有放回或者无放回的抽取大小为n的一个随机样本。

用法:

sample(x, size, replace = FALSE, prob = NULL)

说明:

x表示一个或多个要选择的元素的向量;size表示要抽取元素的个数;replace = FALSE表示无放回抽样(默认),值为TRUE则为有放回抽样;

示例:

①sample(1:nrow(leadership))

nrow(leadership)是leadership这个数据集的行数(可能就是样本数),1:nrow(leadership) 是一个向量,从1到nrow(leadership),sample(1:nrow(leadership)) 是将里面的这个向量进行随机排列了,不是之前那样的顺序了。sample(1:nrow(leadership))表示原来的数据集的序号被打乱了,但还是原来的数据集

②train <- sample(nrow(df), 0.7*nrow(df))

表示从df数据集中随机抽取70%的数据的序号;

df.train <- df[train,]

df.validate <- df[-train,]

按照前面随机抽取的数据序号提取出来作为训练集,剩下的部分作为验证集。