3

我喜欢在 mlr3 中使用 Leave-One-Out 交叉验证(作为管道的一部分)。

我可以指定折叠数(=实例数),例如通过

resampling = rsmp("cv", folds=task$nrow)

但这明确指的是可能无法在管道中工作的“任务”。

我该如何继续?

4

1 回答 1

6

有一个特定的“leave-one-out”Resampling对象,名为"loo"。它可以像任何Resampling对象一样使用,例如:

rs <- rsmp("loo")
rr <- resample(tsk("iris"), lrn("classif.rpart"), resampling = rs)
rr$aggregate()
#> classif.ce
#> 0.06666667

它直接从Task正在使用的迭代中确定迭代次数,并且没有配置参数(即有一个空的$param_set)。

于 2021-04-13T18:33:39.710 回答