Learn R Programming

mlr (version 2.15.0)

filterFeatures: Filter features by thresholding filter values.

Description

First, calls generateFilterValuesData. Features are then selected via select and val.

Usage

filterFeatures(task, method = "randomForestSRC_importance",
  fval = NULL, perc = NULL, abs = NULL, threshold = NULL,
  mandatory.feat = NULL, select.method = NULL, base.methods = NULL,
  cache = FALSE, ...)

Arguments

task

(Task) The task.

method

(character(1)) See listFilterMethods. Default is “randomForestSRC_importance”.

fval

(FilterValues) Result of generateFilterValuesData. If you pass this, the filter values in the object are used for feature filtering. method and ... are ignored then. Default is NULL and not used.

perc

(numeric(1)) If set, select perc*100 top scoring features. perc = 1 means to select all features.Mutually exclusive with argumentsabsandthreshold`.

abs

(numeric(1)) If set, select abs top scoring features. Mutually exclusive with arguments perc and threshold.

threshold

(numeric(1)) If set, select features whose score exceeds threshold. Mutually exclusive with arguments perc and abs.

mandatory.feat

(character) Mandatory features which are always included regardless of their scores

select.method

If multiple methods are supplied in argument method, specify the method that is used for the final subsetting.

base.methods

If method is an ensemble filter, specify the base filter methods which the ensemble method will use.

cache

(character(1) | logical) Whether to use caching during filter value creation. See details.

...

(any) Passed down to selected filter method.

Value

Task.

Caching

If cache = TRUE, the default mlr cache directory is used to cache filter values. The directory is operating system dependent and can be checked with getCacheDir(). The default cache can be cleared with deleteCacheDir(). Alternatively, a custom directory can be passed to store the cache.

Note that caching is not thread safe. It will work for parallel computation on many systems, but there is no guarantee.

Simple and ensemble filters

Besides passing (multiple) simple filter methods you can also pass an ensemble filter method (in a list). The ensemble method will use the simple methods to calculate its ranking. See listFilterEnsembleMethods() for available ensemble methods.

See Also

Other filter: generateFilterValuesData, getFilteredFeatures, listFilterEnsembleMethods, listFilterMethods, makeFilterEnsemble, makeFilterWrapper, makeFilter, plotFilterValues

Examples

Run this code
# NOT RUN {
# simple filter
filterFeatures(iris.task, method = "FSelectorRcpp_gain.ratio", abs = 2)
# ensemble filter
filterFeatures(iris.task, method = "E-min",
  base.methods = c("FSelectorRcpp_gain.ratio", "FSelectorRcpp_information.gain"), abs = 2)
# }

Run the code above in your browser using DataLab