我有数据,其中预测变量有一些自然分组(有些是问卷分数,有些是生物变量)。有什么方法可以使用 mlr3 中的基准测试来比较基于此的模型吗?我试图设置它,但它不起作用 - 可能是因为我已经将“任务”定义为“任务”,学习者应该以某种方式更好地捕捉到什么? (这是使用 xgboost)
reg.tasks=list()
reg.tasks$everything = as_task_classif(df,target='Reiteration',id='everything')
reg.tasks$biological = as_task_classif(df %>% dplyr::select(any_of(biological.vars)),target='Reiteration',id='everything')
future::plan(list('multisession'))
at=auto_tuner(method=tnr('random_search'),
learner=lts(lrn('classif.xgboost')),
resampling=rsmp('cv',folds=4),
measures=msr('classif.bacc'),
term_time=1*60))) # just to test
outer_resampling=rsmp('cv',folds=3)
bm_design=data.table::data.table(
task=c(reg.tasks$everything,reg.tasks$everything,reg.tasks$biological),
learner=list(at,lrn('classif.featureless'),at),
resampling=list(outer_reampling,outer_resampling,outer_resampling)
bmr=bechnmark(bm_design,store_models=TRUE)
bma=as.BenchmarkAggr(brr,measures=msr('classif.bacc'))
bma$friedman_posthoc()
我在博士后测试中遇到错误
Warning: only two learners available, returning global test. Error in friedman.test.dfault(mf[[1L]],mf[[2L]],mf[[[3L]]: not an unreplicated complete block design
mlr3benchmark
中实施的弗里德曼测试需要完整的任务 x 学习者表,而您没有。你为什么不把无特征的学习者包括在生物数据中?