gpt4 book ai didi

R:在随机森林中调整 mtry 时出错(回归)

转载 作者:行者123 更新时间:2023-12-04 08:25:57 25 4
gpt4 key购买 nike

我有以下代码来调整随机森林回归模型的 mtry 超参数:

set.seed(42)

mtry <- 1:10

# Define train control
trControl <- trainControl(method = "cv",
number = 10,
search = "grid")

for (i in mtry) {
rf_random <- train(Price.Gas~., data=data_train,
method = "rf",
mtry = i,
metric = "RMSE",
trControl = trControl)
}
但是,我得到了错误(实际上对于不同的 mtry 值会重复):
model fit failed for Fold01: mtry= 2 Error in randomForest.default(x, y, mtry = param$mtry, ...) : 
formal argument "mtry" matched by multiple actual arguments
我怎样才能让这项工作来测试不同的 mtry 值?

最佳答案

默认情况下,插入符号会在网格上调整 mtry,参见 manual所以你不需要使用循环,而是在 tuneGrid= 中定义它:

library(caret)
set.seed(42)

data_train = data.frame(Price.Gas = rnorm(100),matrix(rnorm(1000),ncol=10))

trControl <- trainControl(method = "cv",number = 10)

rf_random <- train(Price.Gas~., data=data_train,
method = "rf",
tuneGrid = data.frame(mtry = 1:10),
metric = "RMSE",
trControl = trControl)

Random Forest

100 samples
10 predictor

No pre-processing
Resampling: Cross-Validated (10 fold)
Summary of sample sizes: 89, 90, 91, 89, 91, 90, ...
Resampling results across tuning parameters:

mtry RMSE Rsquared MAE
1 0.8556649 0.2122988 0.6921878
2 0.8458829 0.2102749 0.6808978
3 0.8518204 0.1975061 0.6909111
4 0.8451160 0.1918390 0.6871511
5 0.8386129 0.2037676 0.6808157
6 0.8476718 0.1949056 0.6889514
7 0.8434816 0.2082844 0.6833892
8 0.8447137 0.1979602 0.6860908
9 0.8419739 0.1960369 0.6825207
10 0.8533284 0.1876459 0.6892574

RMSE was used to select the optimal model using the smallest value.
The final value used for the model was mtry = 5.

关于R:在随机森林中调整 mtry 时出错(回归),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65260636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com