成年蝌蚪 发表于 2014-12-24 09:26 
你好,我也在想学R中的神经网络。想问一下你的size怎么确定?是试不同的size,最后找一个使得测试样本的误差 ...
err.train = 0
err.test = 0
for(i in 1:25)
{set.seed(111)
model=nnet(loan_status~.,data=train,rang=r,size=i,decay=1e-5,matrix=400)
pred.train = predict(model,train[,1:23],type = "class")
pred.test = predict(model,test[,1:23],type = "class")
err.train
=sum(pred.train!=train[,24])/n.train
err.test=sum(pred.test!=test[,24])/n.test
}
plot(1:25,err.train,'l',col=1,lty=1,ylab="模型误判率",xlab="隐层神经元个数",
ylim=c(min(min(err.train),min(err.test)),max(max(err.train),max(err.test))))
lines(1:25,err.test,col=1,lty=3)
points(1:25,err.train,col=1,pch="+")
points(1:25,err.test,col=1,pch="o")
legend(10,0.07,"测试集误判率",bty="n",cex=1.1)
legend(7,0.058,"训练集误判率",bty="n",cex=1.1)