Nothing
test_that("tl_auto_ml runs with basic settings", {
skip_on_cran()
skip_if_not_installed("randomForest")
# Run with short time budget for testing
result <- tl_auto_ml(iris, Species ~ .,
use_reduction = TRUE,
use_clustering = TRUE,
time_budget = 10)
expect_type(result, "list")
expect_true("models" %in% names(result))
expect_true("results" %in% names(result))
expect_true("best_model" %in% names(result))
# Should have trained at least one model
expect_gte(length(result$models), 1)
})
test_that("tl_auto_ml detects task type automatically", {
skip_on_cran()
# Classification task
result_class <- tl_auto_ml(iris, Species ~ .,
task = "auto",
time_budget = 5)
expect_type(result_class, "list")
# Regression task
result_reg <- tl_auto_ml(mtcars, mpg ~ wt + hp,
task = "auto",
time_budget = 5)
expect_type(result_reg, "list")
})
test_that("tl_auto_ml respects time budget", {
skip_on_cran()
# Very short time budget
start_time <- Sys.time()
result <- tl_auto_ml(iris, Species ~ .,
time_budget = 5,
use_reduction = FALSE,
use_clustering = FALSE)
end_time <- Sys.time()
# Should complete within reasonable time (with some buffer)
elapsed <- as.numeric(difftime(end_time, start_time, units = "secs"))
expect_lt(elapsed, 20) # Should finish well before 20 seconds
})
test_that("tl_auto_ml can disable reduction and clustering", {
skip_on_cran()
result <- tl_auto_ml(iris, Species ~ .,
use_reduction = FALSE,
use_clustering = FALSE,
time_budget = 10)
expect_type(result, "list")
# Should still have baseline models
expect_gte(length(result$models), 1)
# Model names should not include "pca_" or "clustered_"
model_names <- names(result$models)
expect_false(any(grepl("^pca_", model_names)))
expect_false(any(grepl("^clustered_", model_names)))
})
test_that("tl_auto_ml handles small datasets", {
skip_on_cran()
# Small dataset
small_data <- iris[1:30, ]
result <- tl_auto_ml(small_data, Species ~ .,
time_budget = 5,
cv_folds = 3)
expect_type(result, "list")
expect_gte(length(result$models), 1)
})
test_that("tl_auto_ml returns best model", {
skip_on_cran()
result <- tl_auto_ml(iris, Species ~ .,
time_budget = 10)
expect_true("best_model" %in% names(result))
expect_s3_class(result$best_model, "tidylearn_model")
# Best model should be one of the trained models
expect_true(!is.null(result$best_model))
})
test_that("tl_auto_ml works with regression tasks", {
skip_on_cran()
result <- tl_auto_ml(mtcars, mpg ~ .,
task = "regression",
time_budget = 10)
expect_type(result, "list")
expect_gte(length(result$models), 1)
})
test_that("tl_auto_ml handles errors gracefully", {
skip_on_cran()
# Should not crash even if some models fail
result <- tl_auto_ml(iris, Species ~ .,
time_budget = 5)
expect_type(result, "list")
# Should have trained at least one successful model
expect_gte(length(result$models), 1)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.