如何访问基准拟合的参数?

How to access parameters fitted by benchmark?

这是一个非常基本的问题,但我没有在其他网站上找到答案,所以我有点被迫在这里问这个问题。

我使用基准(设计,store_models)函数形式 mlr3 库安装了我的“classif.ranger”学习器,我需要访问安装的参数(obv)。 我在基准文档中没有找到任何关于它的信息,所以我尝试用困难的方式来做: -> 我将 store_models 设置为 TRUE -> 我尝试使用 fitted() 访问模型,但它返回 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

您可以使用 getBMRModels() 获取模型,它会告诉您使用了哪些超参数来拟合它们。参见 the benchmark section of the documentation

mlr3book 是 mlr3 的文档,其中有一节是关于您的问题的:https://mlr3book.mlr-org.com/benchmarking.html#bm-resamp

请不要混用 R 和 RStudio,它们是两种不同的东西。 RStudio 从来没有任何功能。