test_that("Artificial Neural Network", {
data("abies")
# Using k-fold partition method
abies2 <- part_random(
data = abies,
pr_ab = "pr_ab",
method = c(method = "kfold", folds = 3)
)
nnet_t1 <- fit_net(
data = abies2,
response = "pr_ab",
predictors = c("aet", "ppt_jja", "pH", "awc", "depth"),
predictors_f = c("landform"),
partition = ".part",
thr = c("max_sens_spec", "equal_sens_spec", "max_sorensen"),
fit_formula = NULL
)
expect_equal(class(nnet_t1), "list")
# Using bootstrap partition method and only with presence-absence
# and get performance for several method
abies2 <- part_random(
data = abies,
pr_ab = "pr_ab",
method = c(method = "boot", replicates = 5, proportion = 0.7)
)
nnet_t2 <- fit_net(
data = abies2,
response = "pr_ab",
predictors = c("aet", "ppt_jja", "pH", "awc", "depth"),
predictors_f = c("landform"),
partition = ".part",
thr = c("max_sens_spec", "equal_sens_spec", "max_sorensen"),
fit_formula = NULL
)
expect_equal(class(nnet_t2), "list")
# Does the function work without predictors_f?
nnet_t3 <- fit_net(
data = abies2,
response = "pr_ab",
predictors = c("aet", "ppt_jja", "pH", "awc", "depth"),
partition = ".part",
thr = c("max_sens_spec", "equal_sens_spec", "max_sorensen"),
fit_formula = NULL
)
expect_equal(class(nnet_t3), "list")
# What about no predictors? Does not work
expect_error(fit_net(
data = abies2,
response = "pr_ab",
predictors_f = c("landform"),
partition = ".part",
thr = c("max_sens_spec", "equal_sens_spec", "max_sorensen"),
fit_formula = NULL
))
})
test_that("test nnet with NA, no factor variable and using formula", {
data("abies")
# Using k-fold partition method
abies2 <- part_random(
data = abies,
pr_ab = "pr_ab",
method = c(method = "kfold", folds = 3)
)
abies2$aet[2:10] <- NA
nnet_t1 <- fit_net(
data = abies2,
response = "pr_ab",
predictors = c("aet", "ppt_jja", "pH", "awc", "depth"),
predictors_f = NULL,
partition = ".part",
thr = c("max_sens_spec", "equal_sens_spec", "max_sorensen"),
fit_formula = as.formula("pr_ab ~ aet + ppt_jja + pH + awc + depth")
)
expect_equal(class(nnet_t1), "list")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.