Прогнозирование с помощью нейронной сети (линейная регрессия) - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть данные ниже с 3 переменными, и я хотел бы предсказать объем населения в течение следующих 3 часов для определенной области (имя переменной «идентичность»)

  identity heure volume
1    20462     0    228
2    20463     0    193
3    20785     0    201
4    20786     0    131
5    20787     0     89
6    20788     0     86

Прежде всего, я нормализовал переменную и разделил свои данные (называемые в моей работе «odsData») на набор тестов и тренировок. Вот код:

scale01 <- function(x){(x - min(x)) / (max(x) - min(x))}
odsData <- odsData %>%
    mutate_all(scale01)
set.seed(101) 
sample = sample.split(odsData$volume, SplitRatio = .50)
train = subset(odsData, sample == TRUE)
test  = subset(odsData, sample == FALSE)

Затем я запускаю следующую нейронную сеть в R:

library(neuralnet)
set.seed(12345)
NN1 <- neuralnet(volume~heure+identity,
                 data=train,
                 hidden = 1,
                 threshold = 0.1,
                 act.fct = "logistic",
                 linear.output = TRUE)

NN1$net.result
plot(NN1,rep = "best")

После этого я попытался вручную вычислить ошибку обучения нейронной сети с помощью приведенной ниже функции R

NN1_Train_SSE <- sum((NN1$net.result - train[,3])^2)/2
paste("Train SSE: ", round(NN1_Train_SSE,4))

Но когда я запускаю этот код ошибки обучения, я нахожу сообщение об ошибке:

Error in NN1$net.result - train[, 3] : non-numeric argument to binary operator

Итак, кто-нибудь может помочь мне решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...