楼主: grandcc1
1579 6

[问答] 随机森林循环问题求解答 [推广有奖]

  • 1关注
  • 0粉丝

本科生

30%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
499 点
帖子
23
精华
0
在线时间
127 小时
注册时间
2014-12-1
最后登录
2018-3-25

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想要一个随机森林结果集合,其中data有10组,ntree取seq(50,500,50),这个会生成100个随机森林,将100个随机森林的结果储存在一起,请问如何实现 QQ图片20170228105721.png
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:问题求解 随机森林 求解答 Data Tree 森林

沙发
AlexYoung757 在职认证  学生认证  发表于 2017-2-28 13:35:32 |只看作者 |坛友微信交流群
首先编写分组函数,这里用iris数据集做测试
  1. library(plyr)
  2. CVgroup <- function(k, datasize, seed) {
  3. cvlist <- list()
  4. set.seed(seed)
  5. n <- rep(1:k, ceiling(datasize/k))[1:datasize]
  6. temp <- sample(n, datasize)
  7. x <- 1:k
  8. dataseq <- 1:datasize
  9. cvlist <- lapply(x, function(x) dataseq[temp==x])
  10. return(cvlist)
  11. }

  12. k <- 5
  13. datasize <- nrow(iris)
  14. cvlist <- CVgroup(k = k, datasize = datasize, seed = 1111)


  15. pred <- data.frame()
  16. m <- seq(60, 500, by = 20)                        
  17. for (j in m) {                                      
  18.   progress.bar <- create_progress_bar("text")      
  19.   progress.bar$init(k)                              

  20.   for (i in 1:k) {  
  21.     train <- iris[-cvlist[[i]],]                     
  22.     test <- iris[cvlist[[i]],]
  23.     model <- randomForest(quality ~ ., data = train, ntree = j)   
  24.     predictions <- predict(model, subset(test, select = -quality))

  25.     randomtree <- rep(j, length(predictions))            
  26.     kcross <- rep(i, length(predictions))         

  27.     temps <- data.frame(cbind(subset(test, select = quality), predictions, randomtree, kcross))  

  28.     pred <- rbind(pred, temps)

  29.     print(paste("随机森林:", j))  
  30.     progress.bar$step()  

  31.   }  
  32. }  
复制代码

使用道具

藤椅
grandcc1 学生认证  发表于 2017-3-1 09:49:27 |只看作者 |坛友微信交流群
AlexYoung757 发表于 2017-2-28 13:35
首先编写分组函数,这里用iris数据集做测试
library(plyr)
CVgroup
非常感谢!

使用道具

板凳
AlexYoung757 在职认证  学生认证  发表于 2017-3-1 10:02:49 |只看作者 |坛友微信交流群
grandcc1 发表于 2017-3-1 09:49
非常感谢!
不客气 都是这么过来的

使用道具

报纸
grandcc1 学生认证  发表于 2017-3-1 10:42:09 |只看作者 |坛友微信交流群
AlexYoung757 发表于 2017-3-1 10:02
不客气 都是这么过来的
train<-data[-cvlist[],] 这边报错:invalid argument to unary operator,请问是什么原因啊?

使用道具

地板
AlexYoung757 在职认证  学生认证  发表于 2017-3-1 13:28:03 |只看作者 |坛友微信交流群
grandcc1 发表于 2017-3-1 10:42
train
抱歉这个是编辑有问题 不知道为什么i显示不出来  我重新编辑了下 应该好了

使用道具

7
grandcc1 学生认证  发表于 2017-3-1 14:19:05 |只看作者 |坛友微信交流群
AlexYoung757 发表于 2017-3-1 13:28
抱歉这个是编辑有问题 不知道为什么i显示不出来  我重新编辑了下 应该好了
嗯嗯,就是iris里面没有quality这个变量,只要换一下因变量就可以了,多谢

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-17 22:06