set.seed(1234)
library("cat2cat")
data("occup", package = "cat2cat")
data("trans", package = "cat2cat")
occup_2006 <- occup[occup$year == 2006,]
occup_2008 <- occup[occup$year == 2008,]
occup_2010 <- occup[occup$year == 2010,]
occup_2012 <- occup[occup$year == 2012,]
library("caret")
library("randomForest")
ml_setup <- list(
data = rbind(occup_2010, occup_2012),
cat_var = "code",
method = c("knn", "rf", "lda"),
features = c("age", "sex", "edu", "exp", "parttime", "salary"),
args = list(k = 10, ntree = 50)
)
data <- list(
old = occup_2008, new = occup_2010,
cat_var_old = "code", cat_var_new = "code", time_var = "year"
)
testthat::test_that("cat2cat_ml_run", {
mappings <- list(trans = trans, direction = "backward")
set.seed(1234)
res <- cat2cat_ml_run(mappings, ml_setup)
set.seed(1234)
res2 <- cat2cat_ml_run(mappings, ml_setup, test_prop = 0.2)
testthat::expect_equal(res, res2)
testthat::expect_s3_class(res, c("cat2cat_ml_run", "list"))
testthat::expect_output(print(res), "Selected prediction stats:")
testthat::expect_output(print(res), "Percent of failed knn ml models:")
})
testthat::test_that("cat2cat_ml_run wrong direction", {
mappings <- list(trans = trans, direction = "forward")
testthat::expect_error(
cat2cat_ml_run(mappings, ml_setup, test_prop = 0.2),
"There is no mappings to group the cat_var variable"
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.