ITMO_FS.wrappers.deterministic.RecursiveElimination

class ITMO_FS.wrappers.deterministic.RecursiveElimination(estimator, n_features)

Performs a recursive feature elimination until the required number of features is reached.

Parameters:
  • estimator (object) – A supervised learning estimator with a fit method that provides information about feature importance either through a coef_ attribute or through a feature_importances_ attribute.
  • n_features (int) – Number of features to leave.

Examples

__init__(estimator, n_features)

Initialize self. See help(type(self)) for accurate signature.

fit(X, y)

Fits wrapper.

Parameters:
  • X (array-like, shape (n_samples,n_features)) – The training input samples.
  • y (array-like, shape (n_samples,)) – the target values.
Returns:

Return type:

None

See also

Guyon, I., Weston, J., Barnhill, S., & Vapnik, V., “Gene selection for cancer classification using support vector machines”, Mach. Learn., 46(1-3), 389–422, 2002. https://link.springer.com/article/10.1023/A:1012487302797

Examples

>>> from sklearn.datasets import make_classification
>>> from ITMO_FS.wrappers import RecursiveElimination
>>> from sklearn.svm import SVC
>>> import numpy as np
>>> dataset = make_classification(n_samples=1000, n_features=20)
>>> data, target = np.array(dataset[0]), np.array(dataset[1])
>>> model = SVC(kernel='linear')
>>> rfe = RecursiveElimination(model, 5)
>>> rfe.fit(data, target)
>>> print("Resulting features: ", rfe.__features__)