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

R语言中sample()的一些用法以及随机选择出测试样本和训练样本 ...

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

根据样本数据随机选择20%做测试样本,80%做训练样本

# 数据划分
# 设置工作空间
# 把“数据及程序”文件夹拷贝到F盘下,再用setwd设置工作空间
setwd("F:/数据及程序/chapter6/示例程序")
# 把数据分为两部分:训练数据、测试数据
# 读入数据
Data <- read.csv("./data/model.csv")
# 数据命名
colnames(Data) <- c("time", "userid", "ele_ind", "loss_ind", "alarm_ind", "class")
# 数据分割

set.seed(1234)  # 设置随机种子,改成set.seed(5)...都行,R语言中set.seed(),该命令的作用是设定生成随机数的种子,种子是为了让结果具有重复性。如果不设定种子,生成的随机数无法重现。

> set.seed(5) #设定种子

> x<-rnorm(10) # 在设定种子的前提下生成10个随机数

> x

[1] -0.84085548 1.38435934 -1.25549186 0.07014277 1.71144087 -0.60290798 -0.47216639

[8] -0.63537131 -0.28577363 0.13810822

> set.seed(5) # 设定种子

> y<-rnorm(10)

> y

[1] -0.84085548 1.38435934 -1.25549186 0.07014277 1.71144087 -0.60290798 -0.47216639

[8] -0.63537131 -0.28577363 0.13810822

)# 定义序列ind,随机抽取1和2,1的个数占80%,2的个数占20%
ind <- sample(2, nrow(Data), replace = TRUE, prob = c(0.8, 0.2))
trainData <- Data[ind == 1,]
 # 训练数据
testData <- Data[ind == 2,]  # 测试数据
# 数据存储
write.csv(trainData, "./tmp/trainData.csv", row.names = FALSE)

write.csv(testData, "./tmp/testData.csv", row.names = FALSE)

。。。。。。。。。。。。。。。。完。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

> set.seed(1234)  # 设置随机种子
 set.seed()中的数字是一个标记啦,下次你还想取这个随机序列就启用set.seed(1234),后面随机函数会和上次一样生成样本。
> ind <- sample(3, nrow(Data), replace = TRUE, prob = c(0.8, 0.2,0.4))
> ind
  [1] 1 3 3 3 2 3 1 1 3 1 3 1 1 2 1 3 1 1 1 1 1 1 1 1 1 3 1 2
 [29] 3 1 1 1 1 1 1 3 1 1 2 3 1 3 1 3 1 1 3 1 1 3 1 1 3 1 1 1
 [57] 1 3 1 3 2 1 1 1 1 3 1 1 1 1 1 2 1 3 1 1 1 1 1 3 2 1 1 1
 [85] 1 2 1 1 1 2 1 2 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 3 1


其他关于sample()的小例子

> x=1:10
> sample(x=x)

 [1]  5  9  2 10  7  4  1  8  6  3


> x=1:1000
> sample(x=x,size=20)
 [1] 981 539 444 947 451 190 986 545 763 906 676 403 989 145

[15] 194 995 402 343 820 195


> x=1:10
> sample(x=x,size=5,replace=T)

[1] 9 4 2 4 4


> a=c("A","B")
> sample(x=a,size=10,replace=T)

 [1] "A" "A" "B" "B" "B" "B" "B" "A" "A" "A"





鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
《机器学习与R语言(原书第2版)》一2.3 探索和理解数据发布时间:2022-07-18
下一篇:
R语言均值,中位数和模式发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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