У меня есть фрейм данных с именем IED2 .Я пытался использовать пакет neuralnet
в R для разработки модели прогнозирования в одном столбце Prop.of.Proper.Cleared
этого IED2
.Поскольку данные представлены в виде временных рядов, я использовал метод createTimeSlices
и расширенное прогнозирование на основе окна для создания обучающих и тестовых наборов данных.Но затем, запустив цикл for
ниже, я продолжал получать сообщение об ошибке, что я не могу найти файл, несмотря на проверку, чтобы убедиться, что тип данных каждого столбца равен integer
.
Ошибка в cbind (1, pred)% *% весов [[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")