1

我正在尝试在具有多个学习率的循环中运行 gbm.step。我想为所有 i 获取名为 gbmModel.i 的模型。

谁能建议如何去做

以下是代码:

learningRateList <- as.numeric(8:10)*0.01

for (i in learningRateList){
  gbmModel.i<-gbm.step(data=train, gbm.x = reqCol, gbm.y = CloseCol,tree.complexity =9,learning.rate = i,bag.fraction = 0.75,family =     "laplace",step.size=100 )
}
4

2 回答 2

1
learningRateList <- as.numeric(8:10)*0.01
for (i in learningRateList){
  nam <- paste("gbmModel", i, sep = ".") 
  models <-gbm.step(data=train, gbm.x = reqCol, gbm.y = CloseCol,tree.complexity =9,learning.rate = i,bag.fraction = 0.75,family =     "laplace",step.size=100 )
  assign(nam, models)

  #  
}
于 2015-10-01T07:22:01.803 回答
0

要将模型存储为单个对象,一种方法是将模型名称和迭代 i 的值粘贴在一起,然后将模型分配给它。

learningRateList <- as.numeric(8:10)*0.01
for(i in learningRateList){
    assign(paste0("gbmModel.",i)) <- gbm.step(data=train, gbm.x = reqCol, 
      gbm.y = CloseCol, tree.complexity =9, learning.rate = i,
      bag.fraction = 0.75,family = "laplace",step.size=100)
}
于 2015-10-01T07:08:26.770 回答