Minimum Redundancy Maximum Relevance

class feasel.f_mRMR.MinRedMaxRel(dataset: ndarray, target: ndarray, selected: set[int] = None, n_features: int = 1, method: str = 'standard', verbose: int = 0)

Bases: FeaselBase

__init__(dataset: ndarray, target: ndarray, selected: set[int] = None, n_features: int = 1, method: str = 'standard', verbose: int = 0)

Implements the Minimum Redundancy Maximum Relevance found in “Minimum redundancy feature selection from microarray gene expression data” by Ding et al. https://doi.org/10.1109/CSB.2003.1227396

Parameters:
  • dataset (np.ndarray) – Dataset of size (n_samples, n_features).

  • target (np.ndarray) – Target vector of size (n_samples,).

  • selected (set[int]) – Already selected feature index set of size (n_selected,). Default value is None.

  • n_features (int) – Number of features to select. Default value is 1.

  • method (str) – Method to use; ‘standard’ implements the version in the original article, ‘modified’ changes minimum redundancy and overall score calculation. Default value is ‘standard’.

  • verbose (int) – Verbosity. 0: no output; 1: prints execution time, selected feature and metric; 2: prints every step. Recommend turning off parallel execution when verbose is 2. Note that increased verbosity affects execution time. Default value is 0.

Variables:
  • _flags – Dictionary of flags describing the capabilities of the algorithm.

  • _measures_used – Set of measure names used in the algorithm.

Returns:

None

Return type:

None

transform() tuple[set[int], list[dict[int, float]], float]

Applies the algorithm.

Returns:

Selected feature index or indices, measure values for all candidate features, execution time; tuple of size (3,).

Return type:

tuple[set[int], list[dict[int, float]], float]