【问题标题】:Creating a loop for different random forest training algorithms为不同的随机森林训练算法创建循环
【发布时间】:2016-04-13 05:51:46
【问题描述】:

我正在尝试编写一个 for 循环来创建各种随机森林模型。我已将我想在不同模型中使用的变量存储在一个名为 list 的列表中:

 list <- c("EXPG1 + EXPG2", "EXPG1 + EXPG2 + distance")

然后我尝试遍历它创建的预测。我最终想要实现的是:

modFit1 <- train(won ~ EXPG1 + EXPG2, data=training, method="rf", prox=TRUE)
modFit2 <- train(won ~ EXPG1 + EXPG2 + distance, data=training, method="rf", prox=TRUE)

但是,我在尝试完成此操作时遇到了一些问题。

这不起作用:

modFit1 <- train(won ~ list[1], data=training, method="rf", prox=TRUE)

而且这似乎也不起作用:

for (R in modfits) {

  modfit <- paste0("won ~ ", R, ", data=training, method=\"rf\", prox=\"TRUE")
 train(modfit)

}

对出了什么问题有什么想法吗?

【问题讨论】:

  • 也许这对?as.formula有帮助?
  • 它似乎有效,但我无法调用 predict ......还有更多建议吗?我认为应该有一种方法

标签: r random-forest


【解决方案1】:

先创建一个空列表来存放模型

results <- vector('list',2)
list <- c("EXPG1 + EXPG2", "EXPG1 + EXPG2 + distance")

for (i in 1:2){
  results[i] <- train(won ~ list[i], data=training, method="rf", prox=TRUE)
}

那么你应该可以在results[[1]]上拨打predict

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-22
    • 2018-06-13
    • 2012-10-25
    • 1970-01-01
    • 2013-08-30
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多