# test_that("fine_tuning Bayesian Optimization works properly classification", { # # formula = "psych_well_bin ~ gender + age + socioec_status + depression" # # hyper_nn_tune_list = list( # learn_rate = c(-2, -1), # hidden_units = c(3,10) # ) # # set.seed(123) # # analysis_object <- preprocessing(df = sim_data, formula = formula, task = "classification") # # analysis_object <- build_model(analysis_object = analysis_object, # model_name = "Neural Network", # hyperparameters = hyper_nn_tune_list) # # # analysis_object <- fine_tuning(analysis_object = analysis_object, # tuner = "Bayesian Optimization", # metric = "roc_auc", # verbose = F) # # fit <- analysis_object$tuner_fit # # expect_equal(length(fit$.iter), 8) # # expect_equal(fit$.predictions[[8]]$hidden_units[1], 9) # # expect_equal(fit$.predictions[[8]]$activation[1], "tanh") # # expect_equal(fit$.predictions[[8]]$.pred_High[1], 0.9140839, tolerance = 5e-2) # # }) # # test_that("fine_tuning Grid Search CV works properly regression", { # # formula = "psych_well ~ gender + age + socioec_status + depression" # # hyper_nn_tune_list = list( # learn_rate = c(-2, -1), # hidden_units = c(3,10) # ) # # set.seed(123) # # analysis_object <- preprocessing(df = sim_data, formula = formula, task = "regression") # # analysis_object <- build_model(analysis_object = analysis_object, # model_name = "Neural Network", # hyperparameters = list( # learn_rate = c(1e-3,1e-1), # hidden_units = c(3,10), # activation = "sigmoid" # )) # # analysis_object <- fine_tuning(analysis_object = analysis_object, # tuner = "Grid Search CV", # metrics = "rmse", # verbose = F) # # fit <- analysis_object$tuner_fit # # expect_equal(fit$.predictions[[1]]$hidden_units[1], 3) # # expect_equal(fit$.predictions[[1]]$learn_rate[1], 1.002305, tolerance = 1e-2) # # expect_equal(fit$.predictions[[1]]$.pred[1], 69.78333, tolerance = 5e-2) # # }) # # test_that("Check fine_tuning wrong metric",{ # # formula = "psych_well ~ gender + age + socioec_status + depression" # # hyper_nn_tune_list = list( # learn_rate = c(-2, -1), # hidden_units = c(3,10) # ) # # set.seed(123) # # analysis_object <- preprocessing(df = sim_data, formula = formula, task = "regression") # # analysis_object <- build_model(analysis_object = analysis_object, # model_name = "Neural Network", # hyperparameters = hyper_nn_tune_list) # # expect_error(fine_tuning(analysis_object = analysis_object, # tuner = "Bayesian Optimization", # metrics = "roc_auc", # verbose = F)) # # }) # # test_that("Check fine_tuning plot_results not Boolean",{ # # formula = "psych_well ~ gender + age + socioec_status + depression" # # hyper_nn_tune_list = list( # learn_rate = c(-2, -1), # hidden_units = c(3,10) # ) # # set.seed(123) # # analysis_object <- preprocessing(df = sim_data, formula = formula, task = "regression") # # analysis_object <- build_model(analysis_object = analysis_object, # model_name = "Neural Network", # hyperparameters = hyper_nn_tune_list) # # expect_error(fine_tuning(analysis_object = analysis_object, # tuner = "Bayesian Optimization", # metrics = "rmse", # verbose = F, # plot_results = "re")) # # }) # # test_that("Check fine_tuning tuner typo",{ # # formula = "psych_well ~ gender + age + socioec_status + depression" # # hyper_nn_tune_list = list( # learn_rate = c(-2, -1), # hidden_units = c(3,10) # ) # # analysis_object <- preprocessing(df = sim_data, formula = formula, task = "regression") # # analysis_object <- build_model(analysis_object = analysis_object, # model_name = "Neural Network", # hyperparameters = hyper_nn_tune_list) # # expect_error(fine_tuning(analysis_object = analysis_object, # tuner = "Bayesian Optimisation", # metrics = "rmse", # verbose = F)) # # }) # #