首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nnet中的参数优化

nnet中的参数优化
EN

Stack Overflow用户
提问于 2018-04-15 19:22:46
回答 1查看 798关注 0票数 0

我使用以下R代码来训练我的数据

代码语言:javascript
复制
    >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)

结果如下:

代码语言:javascript
复制
> 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
...

我的问题是,

代码语言:javascript
复制
Resampling: Bootstrapped (25 reps) 
Summary of sample sizes: 10639, 10639, 10639, 10639, 10639, 10639, ... 

这两个萝卜的意思是?我认为衰变和尺寸的组合将是10*10=100,所以"25代表“是令人困惑的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-15 20:35:54

为了更真实地估计RMSERsquaredtrain函数(默认情况下)使用引导重采样方法,重复25次。

对于每一次重复,你的观察都会随机地被替换(所以你可以有重复的观察,这没问题)。nnet只在您的数据子集上开发。每个重采样中保留的任何观察结果都用于确定nnetlogprice的预测有多好。您看到的RMSERsquared是所有25个样本的平均值。

要更改引导示例的数量,必须在trainControl包(https://topepo.github.io/caret/model-training-and-tuning.html#control)中使用https://topepo.github.io/caret/model-training-and-tuning.html#control,例如,对50个示例执行引导重采样:

代码语言:javascript
复制
tc <- trainControl(method="boot",number=50)
nnetfit = train(logprice ~ ., 
    ... all your other hyperparamters...
    trControl=tc)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49845892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档