mRMRe.Filter-class | R Documentation |
"mRMRe.Filter"
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.
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
the 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.
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.
fixed_feature_count
:Object of class "integer"
containing the number of fixed features.
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.
signature(object = "mRMRe.Filter")
: ...
signature(object = "mRMRe.Filter")
: Returns the number of features.
signature(object = "mRMRe.Filter")
: Returns a vector containing the feature names.
signature(object = "mRMRe.Filter")
: Returns the potentially partial mutual information matrix used for feature selection.
signature(object = "mRMRe.Filter")
: Returns the number of samples.
signature(object = "mRMRe.Filter")
: Returns a vector containing sample names.
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.)
signature(object = "mRMRe.Filter")
: Returns a vector containing the target indices.
Nicolas De Jay, Simon Papillon-Cavanagh, Benjamin Haibe-Kains
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.
mRMRe.Data-class
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)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.