@@ -85,3 +85,31 @@ test_that("ResultAssignerSurrogate works with OptimizerMbo and bayesopt_smsego",
8585 expect_data_table(instance $ result , min.rows = 1L )
8686})
8787
88+ test_that(" ResultAssignerSurrogate passes internal tuned values" , {
89+ result_assigner = ResultAssignerSurrogate $ new()
90+
91+ learner = lrn(" classif.debug" ,
92+ validate = 0.2 ,
93+ early_stopping = TRUE ,
94+ x = to_tune(0.2 , 0.3 ),
95+ iter = to_tune(upper = 1000 , internal = TRUE , aggr = function (x ) 99 ))
96+
97+ instance = ti(
98+ task = tsk(" pima" ),
99+ learner = learner ,
100+ resampling = rsmp(" cv" , folds = 3 ),
101+ measures = msr(" classif.ce" ),
102+ terminator = trm(" evals" , n_evals = 20 ),
103+ store_benchmark_result = TRUE
104+ )
105+ surrogate = SurrogateLearner $ new(REGR_KM_DETERM )
106+ acq_function = AcqFunctionEI $ new()
107+ acq_optimizer = AcqOptimizer $ new(opt(" random_search" , batch_size = 2L ), terminator = trm(" evals" , n_evals = 2L ))
108+
109+ tuner = tnr(" mbo" , result_assigner = result_assigner )
110+ expect_data_table(tuner $ optimize(instance ), nrows = 1 )
111+ expect_list(instance $ archive $ data $ internal_tuned_values , len = 20 , types = " list" )
112+ expect_equal(instance $ archive $ data $ internal_tuned_values [[1 ]], list (iter = 99 ))
113+ expect_false(instance $ result_learner_param_vals $ early_stopping )
114+ expect_equal(instance $ result_learner_param_vals $ iter , 99 )
115+ })
0 commit comments