“mlpWeightDecayML”和“glmnet”的自适应重采样超参数调整算法(插入符包)

问题描述 投票:0回答:1

我正在比较 R 中的不同超参数调整算法,并且我一直在尝试插入符号包中的自适应随机采样。我在尝试插入符号模型“mlpWeightDecayML”和“glmnet”时遇到了一个奇怪的错误。产生异常的最小代码片段:

control = caret::trainControl(
  method = "adaptive_cv",
  number = 10, repeats = 3,
  adaptive = list(min = 5, alpha = 0.05, 
                  method = "gls", complete = TRUE),
  search = "random",
)  

caretModel <- caret::train(
  x = iris[, -5], 
  y = iris[, 5],
  method = "mlpWeightDecayML",
  trControl = control,
  tuneLength = 10
)

偶尔发生的错误(不改变任何东西)是:

{ 中的错误: 任务 6 失败 - “参数暗示不同的行数:0、15”

我尝试了不同的数据集,但它给出了相同的错误,只是错误消息中的行不同。此外,例如模型“ranger”和“xgbTree”就不会发生错误。

我尝试更改 R 版本(4.3.2、4.3.1、4.2.2),但出现相同的错误。

r r-caret hyperparameters
1个回答
0
投票

如果我们在运行模型之前

set.seed
,您的代码可以正常工作,就像

library(caret)

control = caret::trainControl(
  method = "adaptive_cv",
  number = 10, repeats = 3,
  adaptive = list(min = 5, alpha = 0.05, 
                  method = "gls", complete = TRUE),
  search = "random"
) 

set.seed(825)
caretModel <- caret::train(
  x = iris[, -5], 
  y = iris[, 5],
  method = "mlpWeightDecayML",
  trControl = control,
  preProc = c("center", "scale"),
  metric = "Accuracy",
  tuneLength = 10
)
© www.soinside.com 2019 - 2024. All rights reserved.