0

嗨,我正在尝试使用几个单独的模型和几个单独的种子来执行线性回归。

目前我有以下工作但看起来不太像 R

library(RWeka)
library(datasets)
library(foreach)

m0 <- LinearRegression(mpg~.,data=mtcars,control=Weka_control(S=0))
m1 <- LinearRegression(mpg~.,data=mtcars,control=Weka_control(S=1))
m2 <- LinearRegression(mpg~.,data=mtcars,control=Weka_control(S=2))

models <- list(m0,m1,m2)

seeds <- c(1:10)

foreach(m = models) %:%
  foreach(x = c(1:10)) %do%
    evaluate_Weka_classifier(m,numFolds = 10,seed = seed)

那么是否有更多类似 R 的方法可以做到这一点,如果没有,有没有人知道如何通过循环不同的模型来完成我在这里尝试做的事情?

R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

编辑:我认为这个迭代模型部分并相应地更新了帖子。这仍然留下一个问题,是否有比 foreach 更好的方法来做到这一点(这似乎不太像)

4

1 回答 1

0

我不熟悉 的细节evaluate_Weka_classifier,但通常看起来你可以这样做,这将返回一个列表列表。不一定比 更好foreach,但可能更“R-ish”,因为它使用了一个基本函数(不管它值多少钱)

lapply(models, function(m) {
  lapply(1:10, function(seed) {
    evaluate_Weka_classifier(m, numFolds = 10, seed = seed)
  })
})
于 2015-06-01T19:58:41.520 回答