我正在比较 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),但出现相同的错误。
如果我们在运行模型之前
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
)