ITMO_FS.filters.multivariate.MRMR¶
-
ITMO_FS.filters.multivariate.MRMR(selected_features, free_features, X, y)¶ Minimum-Redundancy Maximum-Relevance feature scoring criterion. Given set of already selected features and set of remaining features on dataset X with labels y selects next feature.
Parameters: - selected_features (list of ints,) – already selected features
- free_features (list of ints) – free features
- X (array-like, shape (n_samples, n_features)) – The training input samples.
- y (array-like, shape (n_samples, )) – The target values.
Notes
For more details see this paper.
Examples
>>> from ITMO_FS.filters.multivariate import MRMR >>> from sklearn.preprocessing import KBinsDiscretizer >>> import numpy as np >>> X = np.array([[1, 2, 3, 3, 1],[2, 2, 3, 3, 2], [1, 3, 3, 1, 3],[3, 1, 3, 1, 4],[4, 4, 3, 1, 5]], dtype = np.integer) >>> y = np.array([1, 2, 3, 4, 5], dtype=np.integer) >>> est = KBinsDiscretizer(n_bins=10, encode='ordinal') >>> est.fit(X) KBinsDiscretizer(encode='ordinal', n_bins=10) >>> X = est.transform(X) >>> selected_features = [1, 2] >>> other_features = [i for i in range(0, X.shape[1]) if i not in selected_features] >>> MRMR(np.array(selected_features), np.array(other_features), X, y) array([0.80471896, 0.33650583, 0.94334839])