通过建设性变量方法构建神经网络

时间:2016-12-13 02:02:01

标签: r machine-learning neural-network

我正在使用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

0 个答案:

没有答案