Nothing
test_that("returns the right output", {
model <- glmnet::glmnet(mtcars[, -1], mtcars$mpg, lambda = 1)
tf <- tidypredict_fit(model)
pm <- parse_model(model)
expect_type(tf, "language")
expect_s3_class(pm, "list")
expect_equal(length(pm), 2)
expect_equal(pm$general$model, "glmnet")
expect_equal(pm$general$version, 1)
expect_snapshot(
rlang::expr_text(tf)
)
})
test_that("Model can be saved and re-loaded", {
model <- glmnet::glmnet(mtcars[, -1], mtcars$mpg, lambda = 1)
pm <- parse_model(model)
mp <- tempfile(fileext = ".yml")
yaml::write_yaml(pm, mp)
l <- yaml::read_yaml(mp)
pm <- as_parsed_model(l)
expect_identical(
round_print(tidypredict_fit(model)),
round_print(tidypredict_fit(pm))
)
})
test_that("formulas produces correct predictions", {
# gaussian
expect_snapshot(
tidypredict_test(
glmnet::glmnet(mtcars[, -1], mtcars$mpg, family = "gaussian", lambda = 1),
mtcars[, -1]
)
)
# binomial
expect_snapshot(
tidypredict_test(
glmnet::glmnet(mtcars[, -8], mtcars$vs, family = "binomial", lambda = 1),
mtcars[, -1]
)
)
# poisson
expect_snapshot(
tidypredict_test(
glmnet::glmnet(mtcars[, -8], mtcars$vs, family = "poisson", lambda = 1),
mtcars[, -1]
)
)
})
test_that("errors if more than 1 penalty is selected", {
model <- glmnet::glmnet(mtcars[, -1], mtcars$mpg)
expect_snapshot(
error = TRUE,
tidypredict_fit(model)
)
model <- glmnet::glmnet(mtcars[, -1], mtcars$mpg, lambda = c(1, 5))
expect_snapshot(
error = TRUE,
tidypredict_fit(model)
)
})
test_that("glmnet are handeld neatly with parsnip", {
spec <- parsnip::linear_reg(engine = "glmnet", penalty = 1)
model <- parsnip::fit(spec, mpg ~ ., mtcars)
tf <- tidypredict_fit(model)
pm <- parse_model(model)
expect_type(tf, "language")
expect_s3_class(pm, "list")
expect_equal(length(pm), 2)
expect_equal(pm$general$model, "glmnet")
expect_equal(pm$general$version, 1)
expect_snapshot(
rlang::expr_text(tf)
)
})
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.