skip_connection("ml-feature-bucketizer")
skip_on_livy()
skip_on_arrow_devel()
skip_databricks_connect()
test_that("ft_bucketizer() default params", {
test_requires_version("3.0.0")
sc <- testthat_spark_connection()
test_default_args(sc, ft_bucketizer)
})
test_that("ft_bucketizer() param setting", {
test_requires_version("3.0.0")
sc <- testthat_spark_connection()
test_args <- list(
input_col = "x",
output_col = "y",
splits = c(-1, 34, 100),
handle_invalid = "keep"
)
test_param_setting(sc, ft_bucketizer, test_args)
test_args2 <- list(
input_cols = c("x1", "x2"),
output_cols = c("y1", "y2"),
splits_array = list(c(-1, 34, 100), c(-5, 0, 2)),
handle_invalid = "keep"
)
test_param_setting(sc, ft_bucketizer, test_args2)
})
test_that("ft_bucketizer() works properly", {
mtcars_tbl <- testthat_tbl("mtcars")
expect_identical(
mtcars_tbl %>%
select(drat) %>%
ft_bucketizer(
"drat", "drat_out",
splits = c(-Inf, 2, 4, Inf)
) %>%
colnames(),
c("drat", "drat_out")
)
})
test_that("ft_bucketizer() can mutate multiple columns", {
test_requires_version("2.3.0", "multiple column support requires 2.3+")
mtcars_tbl <- testthat_tbl("mtcars")
expect_identical(
mtcars_tbl %>%
select(drat, hp) %>%
ft_bucketizer(
input_cols = c("drat", "hp"),
output_cols = c("drat_out", "hp_out"),
splits_array = list(c(-Inf, 2, 4, Inf), c(-Inf, 90, 120, Inf))
) %>%
colnames(),
c("drat", "hp", "drat_out", "hp_out")
)
})
test_clear_cache()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.