Nothing
arf <- adversarial_rf(iris, parallel = FALSE)
psi <- forde(arf, iris, parallel = FALSE)
test_that("expct returns correct values", {
# For all classes
res <- expct(psi, query = "Sepal.Length", parallel = FALSE)
expect_equal(colnames(res), "Sepal.Length")
expect_equal(res$Sepal.Length, mean(iris$Sepal.Length))
# Only for setosa
res <- expct(psi, query = "Sepal.Length", evidence = data.frame(Species = "setosa"), parallel = FALSE)
expect_equal(res$Sepal.Length, mean(iris[iris$Species == "setosa", "Sepal.Length"]), tolerance = .1)
})
test_that("expct works for vectorized evidence", {
evi <- data.frame(Species = c("setosa", "versicolor", "virginica"))
res <- expct(psi, query = "Petal.Width", evidence = evi, parallel = FALSE)
expect_equal(res$Petal.Width, c(0.2, 1.3, 2.0), tolerance = .2)
})
test_that("expct works with NAs", {
evi <- iris[1:3,]
evi[1, 1] <- NA_real_
evi[1, 5] <- NA_character_
evi[2, 2] <- NA_real_
res <- expct(psi, evidence = evi, parallel = FALSE)
# Result should be the same but with expected values for NAs
expect_s3_class(res, "data.frame")
expect_equal(nrow(res), nrow(evi))
expect_equal(ncol(res), ncol(evi))
expect_equal(colnames(res), colnames(evi))
expect_equal(res[1, 2], evi[1, 2])
})
test_that("expct works with partial sample", {
# Petal.* missing
evi <- iris[1:3, c(1:2, 5)]
res <- expct(psi, evidence = evi, parallel = FALSE)
expect_s3_class(res, "data.frame")
expect_equal(nrow(res), nrow(evi))
expect_equal(ncol(res), ncol(iris) - ncol(evi))
expect_equal(colnames(res), colnames(iris)[3:4])
# Petal.* and Species missing
evi <- iris[1:3, 1:2]
res <- expct(psi, evidence = evi, parallel = FALSE)
expect_s3_class(res, "data.frame")
expect_equal(nrow(res), nrow(evi))
expect_equal(ncol(res), ncol(iris) - ncol(evi))
expect_equal(colnames(res), colnames(iris)[3:5])
})
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.