@@ -663,7 +663,12 @@ test_that("proj_test down-samples proportionally", {
663663 expect_equal(sum(is.na(rpart_dt [[" iteration" ]])), 0 )
664664})
665665
666- test_that(" set works after score" , {
666+ last_lev <- function (x ){
667+ levs <- levels(factor (x ))
668+ levs [length(levs )]
669+ }
670+
671+ test_that(" set works after score(), other is last Y level" , {
667672 N <- 80
668673 set.seed(1 )
669674 reg.dt <- data.table(
@@ -696,6 +701,52 @@ test_that("set works after score", {
696701 SOAK ))
697702 bench.result <- mlr3 :: benchmark(bench.grid )
698703 bench.score <- mlr3resampling :: score(bench.result , mlr3 :: msr(" regr.rmse" ))
704+ if (interactive())plot(bench.score )
699705 set(bench.score , j = " foo" , value = 1 )
700706 expect_is(bench.score , " score" )
707+ expect_identical(last_lev(bench.score $ Train_subsets ), " other" )
708+ bench.pvalue <- mlr3resampling :: pvalue(bench.score )
709+ if (interactive())plot(bench.pvalue )
710+ expect_identical(last_lev(bench.pvalue $ stats $ Train_subsets ), " other" )
711+ })
712+
713+ test_that(" plot ok without other" , {
714+ N <- 80
715+ set.seed(1 )
716+ reg.dt <- data.table(
717+ x = runif(N , - 2 , 2 ),
718+ person = rep(1 : 2 , each = 0.5 * N ))
719+ reg.pattern.list <- list (
720+ easy = function (x , person )x ^ 2 ,
721+ impossible = function (x , person )(x ^ 2 )* (- 1 )^ person )
722+ SAK <- mlr3resampling :: ResamplingSameOtherSizesCV $ new()
723+ SAK $ param_set $ values $ subsets <- " SA"
724+ reg.task.list <- list ()
725+ for (pattern in names(reg.pattern.list )){
726+ f <- reg.pattern.list [[pattern ]]
727+ yname <- paste0(" y_" ,pattern )
728+ reg.dt [, (yname ) : = f(x ,person )+ rnorm(N , sd = 0.5 )][]
729+ task.dt <- reg.dt [, c(" x" ," person" ,yname ), with = FALSE ]
730+ task.obj <- mlr3 :: TaskRegr $ new(
731+ pattern , task.dt , target = yname )
732+ task.obj $ col_roles $ stratum <- " person"
733+ task.obj $ col_roles $ subset <- " person"
734+ reg.task.list [[pattern ]] <- task.obj
735+ }
736+ reg.learner.list <- list (
737+ mlr3 :: LearnerRegrFeatureless $ new())
738+ if (requireNamespace(" rpart" )){
739+ reg.learner.list $ rpart <- mlr3 :: LearnerRegrRpart $ new()
740+ }
741+ (bench.grid <- mlr3 :: benchmark_grid(
742+ reg.task.list ,
743+ reg.learner.list ,
744+ SAK ))
745+ bench.result <- mlr3 :: benchmark(bench.grid )
746+ bench.score <- mlr3resampling :: score(bench.result , mlr3 :: msr(" regr.rmse" ))
747+ if (interactive())plot(bench.score )
748+ expect_identical(last_lev(bench.score $ Train_subsets ), " same" )
749+ bench.pvalue <- mlr3resampling :: pvalue(bench.score )
750+ if (interactive())plot(bench.pvalue )
751+ expect_identical(last_lev(bench.pvalue $ stats $ Train_subsets ), " same" )
701752})
0 commit comments