Я пытаюсь использовать приведенный ниже код для создания нейронной сети, но при запуске кода появляется следующее сообщение об ошибке:
"веса [[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? Согласно документации, фрейм данных является правильным вводом.
Любая помощь высоко ценится!