ITMO_FS.filters.multivariate.CIFE

ITMO_FS.filters.multivariate.CIFE(selected_features, free_features, X, y)

Conditional Infomax Feature Extraction 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
  • -----
  • more details see `this paper <http (For) –

Examples

>>> from ITMO_FS.filters.multivariate import CIFE
>>> 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]
>>> CIFE(np.array(selected_features), np.array(other_features), X, y)
array([2.77258872e-01, 2.22044605e-16, 2.77258872e-01])