统计之都的几位大佬翻译的《应用预测建模》P115-116页,用nnet包来训练模型,通过重抽样来选择隐藏元数目和权重衰减参数,train函数可以指定method=“nnet”或“avNNet”。
我用avNNet能跑起来,但选择nnet就一直报错。
代码如下:
library(caret)
X=data.frame(x1= 1:12,
x2= rep(c(1,2,3),4),
x3= runif(12,min = 0,max = 100))
Y=data.frame(y1= runif(12,min = 0,max = 100))
nnetDenGrid <- expand.grid(.decay=c(0,0.001,0.01,0.1),
.size=c(1,5,10),
.bag=FALSE)
ctrl <- trainControl(method = "cv",number = 10)
nnetDenTune <- caret::train(X,Y,
method = "nnet",
tuneGrid = nnetDenGrid,
trControl = ctrl,
preProc=c("center","scale"),
linout = TRUE,
trace = FALSE,
maxit = 500,
MaxNWts = 5*(ncol(X)+1)+5+1)
用nnet训练模型的时候报这个错误:
Error: The tuning parameter grid should have columns size, decay
如果改为method=“avNNet"就能正常运行,请问是哪里没对?应该怎么修改?