R: Filter features by thresholding filter values.

filterFeatures {mlr} | R Documentation

## 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 arguments`abs`and`threshold'.
`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

    # 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)

[Package mlr version 2.15.0 Index]