问题描述
这是一个非常基本的问题,但我还没有在其他网站上找到答案,所以我不得不在这里问一下。
我使用了来自 mlr3 库的 benchmark(design,store_models) 函数拟合了我的“classif.ranger”学习器,我需要访问拟合参数 (obv)。 我在基准文档中一无所获,因此我尝试以艰难的方式进行: -> 我将 store_models 设置为 TRUE -> 我尝试使用 fit() 访问模型,但它返回 NULL。
我知道这个问题很基本,而且我可能做的很蠢(例如,误读了文档或类似的东西),但我只是不知道如何实际访问参数......请帮忙。
>library(data.table)
library(mlr3)
library(mlr3learners)
library(mlr3filters)
library(mlr3fselect)
library(mlr3tuning)
library(ranger)
library(paradox)
measure = msr("classif.auc")
tuner = tnr("random_search")
ranger_space = ParamSet$new(list(
ParamInt$new("num.trees",lower = 700,upper = 2000),ParamInt$new("mtry",lower = 1,upper = 15)
))
rf_learner <- lrn("classif.ranger",predict_type = "prob")
at = AutoTuner$new(
learner = rf_learner,resampling = rsmp("holdout"),measure = measure,search_space = ranger_space,terminator = trm("evals",n_evals = 25),tuner = tuner
)
pred_task <- TaskClassif$new(id = "predict",backend = dataSet,target = "will_it_sell")
grid = benchmark_grid(
task = pred_task,learner = list(at,rf_learner),resampling = rsmp("cv",folds = 3)
)
rf_benchmark = benchmark(design = grid,store_models = TRUE)
result = rf_benchmark$aggregate(measure)
result
解决方法
mlr3book 是 mlr3 的文档,其中有一部分是关于您的问题:https://mlr3book.mlr-org.com/benchmarking.html#bm-resamp
请不要混用 R 和 RStudio,它们是两种不同的东西。 RStudio 从来没有任何功能。
,您可以使用 getBMRModels()
获取模型,它会告诉您使用哪些超参数来拟合它们。见the benchmark section of the documentation。