Это действительно простой вопрос, но я не нашел ответа на других сайтах, поэтому вынужден спросить об этом здесь.

Я приспособил своего ученика "classif.ranger" к функции тестового теста (design, store_models) из библиотеки mlr3, и мне нужно получить доступ к подобранным параметрам (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
0
Jakub Radziwilski 21 Янв 2021 в 23:42

2 ответа

Лучший ответ

Mlr3book - это документация для mlr3, в которой есть раздел по вашему вопросу: https: //mlr3book.mlr-org.com/benchmarking.html#bm-resamp

И, пожалуйста, не смешивайте R и RStudio, это разные вещи. RStudio никогда не имеет никакой функции.

1
pat-s 22 Янв 2021 в 06:16

Вы можете использовать getBMRModels() для получения моделей, которые расскажут вам, какие гиперпараметры использовались для их соответствия. См. раздел документации о тестах.

0
Lars Kotthoff 21 Янв 2021 в 21:28