R中的Neuralnet软件包不断在数字/矢量/矩阵参数上给出错误消息

时间:2019-05-05 04:57:11

标签: r neural-network

我有一个名为IED2的数据框。我尝试在R中使用neuralnet包在此Prop.of.Proper.Cleared的一列IED2上开发预测模型。由于数据是按时间序列的,因此我使用了createTimeSlices方法并扩展了窗口滚动预测来创建训练和测试数据集。但是然后在运行下面的for循环时,我不断收到错误消息 尽管进行了检查以确保每列的数据类型为integer,但我还是无法执行。

  

cbind(1,pred)%*%weights [[num_hidden_​​layers + 1]]错误:
  需要数字/复杂矩阵/矢量参数

我的代码

 timeSlices <- createTimeSlices(1:nrow(IED2), 
                                initialWindow = 90, horizon = 62, fixedWindow = FALSE)

trainSlices <- timeSlices[[1]]
testSlices <- timeSlices[[2]]

test = NULL
net.sqrt = NULL
err = NULL
col_list <- paste(c(colnames(IED2[,5:7])),collapse="+")
col_list <- paste(c("Prop.of.Proper.Clear~",col_list),collapse="")
f <- formula(col_list)

for(i in 1:2000){
  set.seed(1)
  net.sqrt[i] <- neuralnet(f, data = IED2[trainSlices[[i]],] , algorithm = "rprop+", hidden=2, threshold=0.01, 
                        learningrate = 0.0001, linear.output = TRUE, err.fct="sse")
  test[i] <- compute(net.sqrt[i], IED2[testSlices[[i]],5:7])
  err[i] <- ((test[i]$net.result - IED2[testSlices[[i]],13])^2)/nrow(IED2[testSlices[[i]],])
}

有人可以帮我解决这个问题吗?非常感谢您的帮助。

使用dput

采样数据集
structure(list(DoW = c(2L, 3L, 4L, 5L, 7L, 1L), Mnth = c(1L,  1L, 1L, 1L, 1L, 1L), Hour = c(0L, 0L, 0L,
 0L, 0L, 0L), Prop.of.Proper.Clear = c(0.333333333, 
 0.2, 0.333333333, 0.125, 0, 0)), row.names = c(2L, 3L, 4L, 5L,  7L, 8L), class = "data.frame")

0 个答案:

没有答案