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