0

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

我在 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
4

2 回答 2

1

mlr3book 是 mlr3 的文档,其中包含有关您的问题的部分:https ://mlr3book.mlr-org.com/benchmarking.html#bm-resamp

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

于 2021-01-22T06:16:44.007 回答
0

您可以使用getBMRModels()来获取模型,这将告诉您使用哪些超参数来拟合它们。请参阅文档的基准部分

于 2021-01-21T21:28:35.313 回答