class_docstr: Feature ranking with recursive feature elimination.
  
  Given an external estimator that assigns weights to features (e.g., the
  coefficients of a linear model), the goal of recursive feature elimination
  (RFE) is to select features by recursively considering smaller and smaller
  sets of features. First, the estimator is trained on the initial set of
  features and weights are assigned to each one of them. Then, features whose
  absolute weights are the smallest are pruned from the current set features.
  That procedure is recursively repeated on the pruned set until the desired
  number of features to select is eventually reached.
  
  Read more in the :ref:`User Guide <rfe>`.
  
  Parameters
  ----------
  estimator : object
      A supervised learning estimator with a `fit` method that updates a
      `coef_` attribute that holds the fitted parameters. Important features
      must correspond to high absolute values in the `coef_` array.
  
      For instance, this is the case for most supervised learning
      algorithms such as Support Vector Classifiers and Generalized
      Linear Models from the `svm` and `linear_model` modules.
  
  n_features_to_select : int or None (default=None)
      The number of features to select. If `None`, half of the features
      are selected.
  
  step : int or float, optional (default=1)
      If greater than or equal to 1, then `step` corresponds to the (integer)
      number of features to remove at each iteration.
      If within (0.0, 1.0), then `step` corresponds to the percentage
      (rounded down) of features to remove at each iteration.
  
  verbose : int, default=0
      Controls verbosity of output.
  
  Attributes
  ----------
  n_features_ : int
      The number of selected features.
  
  support_ : array of shape [n_features]
      The mask of selected features.
  
  ranking_ : array of shape [n_features]
      The feature ranking, such that ``ranking_[i]`` corresponds to the
      ranking position of the i-th feature. Selected (i.e., estimated
      best) features are assigned rank 1.
  
  estimator_ : object
      The external estimator fit on the reduced dataset.
  
  Examples
  --------
  The following example shows how to retrieve the 5 right informative
  features in the Friedman #1 dataset.
  
  >>> from sklearn.datasets import make_friedman1
  >>> from sklearn.feature_selection import RFE
  >>> from sklearn.svm import SVR
  >>> X, y = make_friedman1(n_samples=50, n_features=10, random_state=0)
  >>> estimator = SVR(kernel="linear")
  >>> selector = RFE(estimator, 5, step=1)
  >>> selector = selector.fit(X, y)
  >>> selector.support_ # doctest: +NORMALIZE_WHITESPACE
  array([ True,  True,  True,  True,  True,
          False, False, False, False, False], dtype=bool)
  >>> selector.ranking_
  array([1, 1, 1, 1, 1, 6, 4, 3, 2, 5])
  
  References
  ----------
  
  .. [1] 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.
class_docstr_tok: ["Feature","ranking","with","recursive","feature","elimination",".","Given","an","external","estimator","that","assigns","weights","to","features","(","e.g.",",","the","coefficients","of","a","linear","model",")",",","the","goal","of","recursive","feature","elimination","(","RFE",")","is","to","select","features","by","recursively","considering","smaller","and","smaller","sets","of","features",".","First",",","the","estimator","is","trained","on","the","initial","set","of","features","and","weights","are","assigned","to","each","one","of","them",".","Then",",","features","whose","absolute","weights","are","the","smallest","are","pruned","from","the","current","set","features",".","That","procedure","is","recursively","repeated","on","the","pruned","set","until","the","desired","number","of","features","to","select","is","eventually","reached",".","Read","more","in","the",":","ref",":","`","User","Guide","<","rfe",">","`",".","Parameters","--","--","--","--","--","estimator",":","object","A","supervised","learning","estimator","with","a","`","fit","`","method","that","updates","a","`","coef_","`","attribute","that","holds","the","fitted","parameters",".","Important","features","must","correspond","to","high","absolute","values","in","the","`","coef_","`","array",".","For","instance",",","this","is","the","case","for","most","supervised","learning","algorithms","such","as","Support","Vector","Classifiers","and","Generalized","Linear","Models","from","the","`","svm","`","and","`","linear_model","`","modules",".","n_features_to_select",":","int","or","None","(","default=None",")","The","number","of","features","to","select",".","If","`","None","`",",","half","of","the","features","are","selected",".","step",":","int","or","float",",","optional","(","default=1",")","If","greater","than","or","equal","to","1",",","then","`","step","`","corresponds","to","the","(","integer",")","number","of","features","to","remove","at","each","iteration",".","If","within","(","0.0",",","1.0",")",",","then","`","step","`","corresponds","to","the","percentage","(","rounded","down",")","of","features","to","remove","at","each","iteration",".","verbose",":","int",",","default=0","Controls","verbosity","of","output",".","Attributes","--","--","--","--","--","n_features_",":","int","The","number","of","selected","features",".","support_",":","array","of","shape","[","n_features","]","The","mask","of","selected","features",".","ranking_",":","array","of","shape","[","n_features","]","The","feature","ranking",",","such","that","``","ranking_","[","i","]","``","corresponds","to","the","ranking","position","of","the","i-th","feature",".","Selected","(","i.e.",",","estimated","best",")","features","are","assigned","rank","1.","estimator_",":","object","The","external","estimator","fit","on","the","reduced","dataset",".","Examples","--","--","--","--","The","following","example","shows","how","to","retrieve","the","5","right","informative","features","in","the","Friedman","#","1","dataset",".",">",">",">","from","sklearn.datasets","import","make_friedman1",">",">",">","from","sklearn.feature_selection","import","RFE",">",">",">","from","sklearn.svm","import","SVR",">",">",">","X",",","y","=","make_friedman1","(","n_samples=50",",","n_features=10",",","random_state=0",")",">",">",">","estimator","=","SVR","(","kernel=","''","linear","''",")",">",">",">","selector","=","RFE","(","estimator",",","5",",","step=1",")",">",">",">","selector","=","selector.fit","(","X",",","y",")",">",">",">","selector.support_","#","doctest",":","+NORMALIZE_WHITESPACE","array","(","[","True",",","True",",","True",",","True",",","True",",","False",",","False",",","False",",","False",",","False","]",",","dtype=bool",")",">",">",">","selector.ranking_","array","(","[","1",",","1",",","1",",","1",",","1",",","6",",","4",",","3",",","2",",","5","]",")","References","--","--","--","--","--","..","[","1","]","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","."]
docstr: Fit the RFE model and then the underlying estimator on the selected
     features.
  
  Parameters
  ----------
  X : {array-like, sparse matrix}, shape = [n_samples, n_features]
      The training input samples.
  
  y : array-like, shape = [n_samples]
      The target values.
docstr_tok: ["Fit","the","RFE","model","and","then","the","underlying","estimator","on","the","selected","features",".","Parameters","--","--","--","--","--","X",":","{","array-like",",","sparse","matrix","}",",","shape","=","[","n_samples",",","n_features","]","The","training","input","samples",".","y",":","array-like",",","shape","=","[","n_samples","]","The","target","values","."]
code: def fit(self, X, y):
      """Fit the RFE model and then the underlying estimator on the selected
         features.
  
      Parameters
      ----------
      X : {array-like, sparse matrix}, shape = [n_samples, n_features]
          The training input samples.
  
      y : array-like, shape = [n_samples]
          The target values.
      """
      return self._fit(X, y)
  
imports: import numpy
  from ..utils import check_X_y, safe_sqr
  from ..utils.metaestimators import if_delegate_has_method
  from ..base import BaseEstimator
  from ..base import MetaEstimatorMixin
  from ..base import clone
  from ..base import is_classifier
  from ..externals.joblib import Parallel, delayed
  from ..model_selection import check_cv
  from ..model_selection._validation import _safe_split, _score
  from ..metrics.scorer import check_scoring
  from .base import SelectorMixin
label_desc: Use image node_id 3 for calling the RFE obj's underlying member method code with example usage: obj.fit(X, y) and returns: self