如何访问基准拟合的参数?
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 从来没有任何功能。
这是一个非常基本的问题,但我没有在其他网站上找到答案,所以我有点被迫在这里问这个问题。
我使用基准(设计,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 从来没有任何功能。