首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从mlr3中的基准结果中获得模型结果?

如何从mlr3中的基准结果中获得模型结果?
EN

Stack Overflow用户
提问于 2021-06-21 12:09:01
回答 1查看 294关注 0票数 1

最近,我正在学习如何使用mlr3包。我在做一个特征选择,并想比较模型results.However,我想知道如何从Benchmarkresult结果中获得模型结果,比如在特性选择的学习者模型中使用了哪些特性。

这是我的代码:

代码语言:javascript
复制
#setup task
task = TaskClassif$new(id = "SPI", backend = test, target = "recidivism")

#learner of non-FS
learner_ranger = lrn("classif.ranger",
                     predict_type = "prob",
                     predict_sets = c("train", "test")) %>% print()

# set up for FS
terminator = trm("evals", n_evals = 20)
fselector = fs("random_search")

# create a new learner of FS
at = AutoFSelector$new(
  learner = learner_ranger,
  resampling = rsmp("holdout"),
  measure = msr("classif.auc"),
  terminator = terminator,
  fselector = fselector
)
at


# To compare the optimized feature subset with the complete feature set, we can use benchmark() :
grid = benchmark_grid(task = task,
                      learner = list(at,learner_ranger),
                      resampling = rsmp("holdout"))


# 
set.seed(1)
bmr_Wra = benchmark(grid, store_models = TRUE)

# 
measures = list(
  msr("classif.auc", id = "auc_train", predict_sets = "train"),
  msr("classif.auc", id = "auc_test"),
  msr("classif.acc", id = "acc_test"),
  msr("classif.ce",id = "ce_test")
)

bmr_Wra$aggregate(measures)


# ce
autoplot(bmr_Wra) + theme(axis.text.x = element_text(angle = 45, hjust = 1))

# roc
autoplot(bmr_Wra, type = "roc")

# prc
autoplot(bmr_Wra, type = "prc")`

我注意到:

注意,通过这个领域访问学习模型是不可行的,因为培训任务将是不明确的。由于这个原因,返回的学习者在返回之前被重新安置。相反,从$score()返回的表中选择一行。

因此,我使用bmr_Wra$score(),但我仍然需要进一步分析模型和提取信息,如变量的重要性。任何帮助都是非常感谢的。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-21 14:24:07

从gh安装最新的mlr3fselect版本,该版本提供了新的辅助函数。

extract_inner_fselect_results(bmr_Wra)

返回内部重采样循环的最佳功能集。由于您使用的是持久化验证,所以它只是一组。

extract_inner_fselect_archives(bmr_Wra)

返回内部重采样循环的所有评估功能集。如果要访问存储在AutoTuner s中的相应模型,请使用store_models = TRUE创建ResampleResult

您可能需要阅读关于嵌套重采样的书中的章节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68067696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档