我使用以下R代码来训练我的数据
>mygrid = expand.grid(.decay=seq(0.01,0.1,0.01), .size=c(10:20))
>set.seed(25000)
>nnetfit = train(logprice ~ .,
data=traindata,
method="nnet",
maxit=5000, #max number of iteration
linout=T, #F would be logistic output
tuneGrid=mygrid,
trace=F)
结果如下:
> print(nnetfit)
Neural Network
10639 samples
12 predictor
No pre-processing
Resampling: Bootstrapped (25 reps)
Summary of sample sizes: 10639, 10639, 10639, 10639, 10639, 10639, ...
Resampling results across tuning parameters:
decay size RMSE Rsquared MAE
0.01 10 0.3026250 0.6158591 0.2379521
...
我的问题是,
是什么Resampling: Bootstrapped (25 reps)
Summary of sample sizes: 10639, 10639, 10639, 10639, 10639, 10639, ...
这两个原料是什么意思?我认为衰变和大小的组合将是10 * 10 = 100
所以“25个代表”令人困惑。
答案 0 :(得分:0)
为了对RMSE
和Rsquared
进行更实际的估算,train
函数(默认情况下)使用25次重复的引导程序重采样方法。
对于每次重复,您的观察结果随机重新采样并带有替换(因此您可以重复观察,这样就可以了)。 nnet
仅针对您的数据子集开发。无论在每次重新采样中保留的观察结果都用于确定nnet
预测logprice
的效果。您看到的RMSE
和Rsquared
是所有25个样本的平均值。
要更改引导样本的数量,您必须使用trainControl
包中的caret
(https://topepo.github.io/caret/model-training-and-tuning.html#control),例如用50个样本进行bootstrap重采样:
tc <- trainControl(method="boot",number=50)
nnetfit = train(logprice ~ .,
... all your other hyperparamters...
trControl=tc)