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.

See also

Super class

mlr3filters::Filter -> FilterAnova

Methods

Public methods

Inherited methods

Method new()

Create a FilterAnova object.

Usage

FilterAnova$new(
  id = "anova",
  task_type = "classif",
  task_properties = character(),
  param_set = ParamSet$new(),
  feature_types = c("integer", "numeric"),
  packages = "stats"
)

Arguments

id

(character(1))
Identifier for the filter.

task_type

(character())
Types of the task the filter can operator on. E.g., "classif" or "regr".

task_properties

(character())
Required task properties, see mlr3::Task. Must be a subset of mlr_reflections$task_properties.

param_set

(paradox::ParamSet)
Set of hyperparameters.

feature_types

(character())
Feature types the filter operates on. Must be a subset of mlr_reflections$task_feature_types.

packages

(character())
Set of required packages. Note that these packages will be loaded via requireNamespace(), and are not attached.


Method clone()

The objects of this class are cloneable with this method.

Usage

FilterAnova$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

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