我在波士顿可用的数据集的R上尝试过神经网络。使用神经网络函数时出现错误
data("Boston",package="MASS")
data <- Boston
只保留我们希望使用那些可变:
keeps <- c("crim", "indus", "nox", "rm" , "age", "dis", "tax" ,"ptratio", "lstat" ,"medv")
data <- data[keeps]
在此情况下式被存储在所谓的F R对象。 响应变量medv将被“回归”其余九个属性。我已经做了如下:
f <- medv ~ crim + indus + nox + rm + age + dis + tax + ptratio + lstat
要设置506行的数据,无需更换的列车样品400使用示例方法收集:R t的
set.seed(2016)
n = nrow(data)
train <- sample(1:n, 400, FALSE)
neuralnet函数拟合。
fit<- neuralnet(f, data = data[train ,], hidden=c(10 ,12 ,20),
algorithm = "rprop+", err.fct = "sse", act.fct = "logistic",
threshold =0.1, linear.output=TRUE)
但是警告消息显示为算法不收敛。
警告消息: 算法没有在1个重复(S)的1 stepmax内收敛
试图预测使用的计算,则显示
pred <- compute(fit,data[-train, 1:9])
跟随误差MSG
Error in nrow[w] * ncol[w] : non-numeric argument to binary operator
In addition: Warning message:
In is.na(weights) : is.na() applied to non-(list or vector) of type 'NULL'
为什么错误即将到来以及如何从中恢复以进行预测。我想在该数据集上使用神经网络函数。
您是否考虑在训练之前缩放数据集? – sebastianmm
我还没有缩放它。会导致更快的收敛吗?截至目前,问题似乎是不衔接。 – shan
是的。看到我的编辑如下。 – sebastianmm