skip_connection("ml-als")
skip_on_livy()
skip_on_arrow_devel()
skip_databricks_connect()
test_that("ml_als() default params", {
test_requires_version("3.0.0")
sc <- testthat_spark_connection()
test_default_args(sc, ml_als)
})
test_that("ml_als() param setting", {
test_requires_version("3.0.0")
sc <- testthat_spark_connection()
test_args <- list(
rating_col = "awef",
user_col = "qqqq",
item_col = "ffffffff",
rank = 11,
reg_param = 0.2,
implicit_prefs = TRUE,
alpha = 2,
nonnegative = TRUE,
max_iter = 20,
num_user_blocks = 15,
num_item_blocks = 16,
checkpoint_interval = 12,
cold_start_strategy = "drop",
intermediate_storage_level = "MEMORY_ONLY",
final_storage_level = "MEMORY_ONLY_SER"
)
test_param_setting(sc, ml_als, test_args)
})
test_that("ml_recommend() works", {
sc <- testthat_spark_connection()
test_requires_version("2.2.0")
user <- c(0, 0, 1, 1, 2, 2)
item <- c(0, 1, 1, 2, 1, 2)
rating <- c(4.0, 2.0, 3.0, 4.0, 1.0, 5.0)
df <- data.frame(user = user, item = item, rating = rating)
movie_ratings <- sdf_copy_to(sc, df, "movie_rating", overwrite = TRUE)
als_model <- ml_als(movie_ratings)
expect_warning_on_arrow(
expect_identical(
als_model %>%
ml_recommend("users", 2) %>%
colnames(),
c("item", "recommendations", "user", "rating")
)
)
expect_warning_on_arrow(
expect_identical(
als_model %>%
ml_recommend("items", 2) %>%
colnames(),
c("user", "recommendations", "item", "rating")
)
)
})
test_clear_cache()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.