我正在使用R&#39 neuralnet
包构建神经网络。我正在使用一种建设性的变量方法,因为我一个接一个地添加变量,直到最小化RMSE。您可以想象,手动执行此操作非常耗时。我一直在使用34种不同变量的组合进行训练和测试。
首先,我训练并测试34个模型,然后保持模型的最低RMSE。我保留了在随后的33个模型中产生最低RMSE的变量。
我喜欢更快的方法,而不是手动训练和测试33个模型中的每一个,但我无法知道如何做到这一点。以下是我一直在使用的一些代码:
library(neuralnet)
library(rminer)
Data <- data.frame(
A = sample(1:10),
B = sample(1:10),
C = sample(1:10),
D = sample(1:10))
train <- Data[1:7,]
test <- Data[8:10,]
set.seed(500)
network <- neuralnet(A ~ B + C,
data = train, algorithm = "rprop+",
hidden = c(1), stepmax = 1e6, linear.output = TRUE)
pred <- compute(network, test[,c(2, 3)])
mmetric(test$A, pred$net.result,
c("RMSE", "MAPE", "COR"))
最后,我想找到一种方法来为每个单独的变量打印RMSE。例如,第一次迭代将具有3个RMSE值。一个用于A~B
,一个用于A~C
,一个用于A~D
。有一个很好的方法来编程吗?我甚至都不知道从哪里开始。
非常感谢任何帮助
基本上我对良好功能的想法是:
test all models separately
return RMSE values for all models