我在波士頓可用的數據集的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