首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对不同大小的不同任务使用自定义重采样,尊重时间顺序?

如何对不同大小的不同任务使用自定义重采样,尊重时间顺序?
EN

Stack Overflow用户
提问于 2021-11-18 15:36:22
回答 1查看 65关注 0票数 0

我有一些任务,其中行有时间顺序(例如,每月数据)。我想执行"loo“类型的重采样,但培训数据必须总是早于测试数据。因此,我所做的是以以下方式生成自定义重采样:

代码语言:javascript
复制
# Instantiate Resampling
resampling_backtest = rsmp("custom")

train_sets = list(1:30)     # n.b. we just deliberately call the list of splits "train_sets" and "test_sets"
test_sets = list(31)        # for later use in the instantiated resampling class, they will automatically be named "train_set" and "test_set" and be lists

for (testmonth in (32:task$nrow)) {
  
  train_sets <- append(train_sets, list(c(1:(testmonth-1))))
  test_sets <- append(test_sets, list(c(testmonth)))
}


resampling_backtest$instantiate(task, train_sets, test_sets)

我的任务是一个大样本的不同子集,其中有一个“日期”列。所有子示例都是“有序的”,因为我首先对n个任务使用task_n <- TaskClassif$new(...),然后使用task_n$set_col_roles("Date", roles = "order")

现在,我有两个问题:

  1. I已经定义了重采样方案,但是行id值(例如"2“)将指不同的月份。这可能不是一个真正的问题,如果不是因为
  2. 下面的点,当我列出n个任务(list_of_tasks=list(task_1,...task_n))并将基准定义如下时,我将得到一个错误消息

代码语言:javascript
复制
design = benchmark_grid(
  tasks = list_of_tasks,
  learners = list_of_learners,
  resamplings = resampling_backtest      
)

错误消息是错误:所有任务都必须非实例化,或者必须有相同数量的行

那么,我能在这里做什么?是否有办法将“未实例化”重采样?还是需要为每个n个任务分别手动定义一个重采样方案?如果是,我怎样才能把它交给benchmark_grid()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-19 16:05:46

还是需要手动为每个n个任务分别定义一个重采样方案?

是。只需使用data.table()手动创建基准设计即可。实例化重放的示例:

代码语言:javascript
复制
library(mlr3)
library(data.table)

task_pima = tsk("pima")
task_spam = tsk("spam")

resampling_pima = rsmp("cv", folds = 3)
resampling_pima$instantiate(task_pima)

resampling_spam = rsmp("cv", folds = 3)
resampling_spam$instantiate(task_spam)

design = data.table(
  task = list(task_pima, task_spam),
  learner = list(lrn("classif.rpart"), lrn("classif.rpart")),
  resampling = list(resampling_pima, resampling_spam)
)

bmr = benchmark(design)
``
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70022642

复制
相关文章

相似问题

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