ANOVA F-Test filter calling stats::aov(). Note that this is equivalent to a \(t\)-test for binary classification.

The filter value is -log10(p) where p is the \(p\)-value. This transformation is necessary to ensure numerical stability for very small \(p\)-values.

Format

R6::R6Class inheriting from Filter.

Construction

FilterAnova$new()
mlr_filters$get("anova")
flt("anova")

See also

Examples

task = mlr3::tsk("iris") filter = flt("anova") filter$calculate(task) head(as.data.table(filter), 3)
#> feature score #> 1: Petal.Length 90.54412 #> 2: Petal.Width 84.37992 #> 3: Sepal.Length 30.77737
# transform to p-value 10^(-filter$scores)
#> Petal.Length Petal.Width Sepal.Length Sepal.Width #> 2.856777e-91 4.169446e-85 1.669669e-31 4.492017e-17