我正在尝试使用下面的代码创建神经网络,但是在运行代码时出现以下错误消息:
“ weights [[num_hidden_layers + 1]]:需要数字/复杂矩阵/矢量参数”
错误在以下行:
pred_nn=compute(flying_nn, ctest)
在下面的代码中。
flying=dget("https://www.math.ntnu.no/emner/TMA4268/2019v/data/flying.dd")
ctrain=flying$ctrain
ctest=flying$ctest
require(neuralnet)
#hidden for number of neurons
flying_nn = neuralnet(diabetes~., data=ctrain, hidden=8, act.fct="logistic", linear.output=FALSE)
pred_nn = compute(flying_nn, ctest)
pred_nn$net.result <- sapply(pred_nn$net.results, round, digits=0)
"Calculate error rate for neural networks"
table_nn <- table(pred_nn$net.results, ctest$diabetes) error_nn <- 1-sum(diag(table_nn))/sum(table_nn)
error_nn
predict_nntrain <- predict(flying_nn, newdata=ctrain)
roc_nn = roc(response=ctrain$diabetes, predictor= factor(predict_nntrain$class, ordered=TRUE))
plot(roc_nn, col="red", lwd=10, main="ROC curve NN") auc_nn<-auc(roc_nn)
auc_qda
测试数据ctest是一个数据帧,具有与训练集ctrain相同的协变量。由于compute(flying_nn,ctest)公式有问题,ctest数据帧可能有问题吗?根据文档,数据框是正确的输入。
我们非常感谢您的帮助!