mRMRe (version 2.0.3)

mRMRe.Filter-class: 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.

Arguments

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.

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

Run this code
showClass("mRMRe.Filter")

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

Run the code above in your browser using DataLab