3 votes

Validation croisée sans interruption dans mlr3

J'aime utiliser la validation croisée sans interruption dans mlr3 (dans le cadre d'un pipeline).

Je pourrais spécifier le nombre de plis (= nombre d'instances) par exemple via

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

Mais cela fait explicitement référence à la "tâche", ce qui peut ne pas fonctionner dans le pipeline.

Comment procéder ?

6voto

mb706 Points 91

Il existe une "leave-one-out" Resampling objet , nommé "loo" . Il peut être utilisé comme n'importe quel Resampling par exemple :

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

Il détermine le nombre d'itérations directement à partir de la valeur de la variable Task qui est utilisé, et n'a pas de paramètres de configuration (c'est-à-dire qu'il a un champ d'application $param_set ).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X