mRMRe.Filter-class {mRMRe} | R Documentation

## Class `"mRMRe.Filter"`

### Description

mRMRe.Filter is a wrapper for various variants of the maximum relevance minimum redundancy (mRMR) feature selection/filter.

Note that `mRMR.classic` and `mRMR.ensemble` functions are wrappers to easily perform classical (single) and ensemble mRMR feature selection.

### Instantiation

Objects are created via calls of the form `new("mRMRe.Filter", data, prior_weight, target_indices, levels, method, continuous_estimator, outX, bootstrap_count)`.

`data`: is expected to be a `mRMRe.Data` object.

`target_indices`: is expected to be a vector of type `integer` containing the indices of the features that will serve as targets for the feature selections.

`levels`: is expected to be a vector of type `integer` containing the number of children of each element at each level of the resulting filter tree.

`method`: is expected to be either `exhaustive` or `bootstrap`. The former uses the whole dataset to pick siblings in the tree according to the mRMR metric, while the latter perform the classical mRMR feature selection on several bootrstap selections of the dataset.

`continuous_estimator`: it specifies the estimators for correlation between two continuous variables; value is either `pearson`, `spearman`, `kendall`, `frequency`,

`outX`: set to `TRUE` (default value) to not count pairs of observations tied on `x` as a relevant pair. This results in a Goodman-Kruskal gamma type rank correlation.

`bootstrap_count`: Number of bootstraps to statistically compare teh mRMR scores of each solution.

Since a mutual information matrix must be computed in order for feature selection to take place, the remaining arguments are identical to those required by the `mim` method of the `mRMRe.Data` object.

### Slots

`filters`:

  Object of class `"list"` containing for each target a solutions matrix.

`mi_matrix`:

  Object of class `"matrix"` containing the combined mutual information matrix of the relevant targets.

`causality_list`:

  Object of class `"list"` containing for each target a vector of causality coefficients between the target and its predictors.

`sample_names`:

  Object of class `"character"` containing the sample names.

`feature_names`:

  Object of class `"character"` containing the feature names.

`target_indices`:

  Object of class `"integer"` containing the target indices.

`levels`:

  Object of class `"integer"` containing the desired topology of the tree.

`scores`:

  Object of class `"list"` containing the mRMR score of selected features, respective to filters.

### Methods

causality

  `signature(object = "mRMRe.Filter")`: ...

featureCount

  `signature(object = "mRMRe.Filter")`: Returns the number of features.

featureNames

  `signature(object = "mRMRe.Filter")`: Returns a vector containing the feature names.

mim

  `signature(object = "mRMRe.Filter")`: Returns the potentially partial mutual information matrix used for feature selection.

sampleCount

  `signature(object = "mRMRe.Filter")`: Returns the number of samples.

sampleNames

  `signature(object = "mRMRe.Filter")`: Returns a vector containing sample names.

solutions

  `signature(object = "mRMRe.Filter", mi_threshold = -Inf, causality_threshold = Inf)`: Returns a matrix in which each column represents a different solution (path from root of the tree to a leaf.)

target

  `signature(object = "mRMRe.Filter")`: Returns a vector containing the target indices.

### Author(s)

Nicolas De Jay, Simon Papillon-Cavanagh, Benjamin Haibe-Kains

### References

Ding, C. and Peng, H. (2005). "Minimum redundancy feature selection from microarray gene expression data". Journal of bioinformatics and computational biology, 3(2):185–205.

### See Also

`mRMRe.Data-class`

### Examples

    showClass("mRMRe.Filter")

    set.thread.count(2)

    ## load data
    data(cgps)

    ## build an mRMRe.Data object
    ge <- mRMR.data(data = data.frame(cgps.ge[ , 1:100, drop=FALSE]))

    ## perform a classic (single) mRMR to select the 10 genes the most correlated with
    ## the first gene but the less correlated between each other
    exect <- system.time(fs <- new("mRMRe.Filter", data = ge, target_indices = 1,
    					levels = c(8, 1, 1, 1, 1)))
    print(exect)

    ## print the index of the selected features for each distinct mRMR solutions
    print(solutions(fs)[[1]])

    ## print the names of the selected features for each distinct mRMR solutions
    print(apply(solutions(fs)[[1]], 2, function(x, y) { return(y[x]) }, y=featureNames(ge)))

[Package mRMRe version 2.0.9 Index]