神经网络预测(线性回归)

时间:2018-09-07 17:08:08

标签: r

我具有以下包含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

所以,任何人都可以帮助我解决此问题。

0 个答案:

没有答案