Nothing
context("Scaling and Background Knowledge")
test_that("Interval scaling generates correct background knowledge implications", {
# Datos numéricos simples
df <- data.frame(val = c(1, 5, 10))
fc <- FormalContext$new(df)
# Escalar por intervalo: low [0,5], high [5, 10]
# bg = TRUE fuerza el cálculo de implicaciones entre los atributos derivados
fc$scale("val", type = "interval", values = c(0, 5, 11), interval_names = c("low", "high"), bg = TRUE)
# Verificar atributos generados
curr_attrs <- fc$attributes
expect_true(all(c("val is low", "val is high") %in% curr_attrs))
# Background knowledge:
# Dado que un valor es único (single valued original), en lógica multivaluada a veces
# se generan exclusiones mutuas o jerarquías dependiendo de la lógica.
# En intervalo simple, si es partición dura, low -> !high.
bg_imps <- fc$background_knowledge()
expect_is(bg_imps, "ImplicationSet")
# No rules in interval scaling
expect_equal(bg_imps$cardinality(), 0)
# Datos numéricos simples
df <- data.frame(val = c(1, 5, 10))
fc <- FormalContext$new(df)
# bg = TRUE fuerza el cálculo de implicaciones entre los atributos derivados
fc$scale("val", type = "ordinal", bg = TRUE)
# Verificar atributos generados
curr_attrs <- fc$attributes
expect_true(all(c("val <= 1", "val <= 5", "val <= 10") %in% curr_attrs))
bg_imps <- fc$background_knowledge()
expect_is(bg_imps, "ImplicationSet")
# Asegurar que no está vacío si se solicitó bg=TRUE
# (Depende de la implementación exacta de interval scaling en fcaR, pero usualmente genera reglas)
if (bg_imps$cardinality() > 0) {
# Verificar consistencia: Las reglas del BG deben cumplirse en el contexto escalado
expect_true(all(bg_imps %holds_in% fc))
}
# Verificar recuperación de escalas
scales <- fc$get_scales()
expect_true(inherits(scales, "FormalContext") || "val" %in% names(scales))
})
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.