class_docstr: Grid search reduction for fair classification or regression.
  
  Grid search is an in-processing technique that can be used for fair
  classification or fair regression. For classification it reduces fair
  classification to a sequence of cost-sensitive classification problems,
  returning the deterministic classifier with the lowest empirical error
  subject to fair classification constraints [#agarwal18]_ among the
  candidates searched. For regression it uses the same priniciple to return a
  deterministic regressor with the lowest empirical error subject to the
  constraint of bounded group loss [#agarwal19]_.
  
  References:
      .. [#agarwal18] `A. Agarwal, A. Beygelzimer, M. Dudik, J. Langford, and
         H. Wallach, "A Reductions Approach to Fair Classification,"
         International Conference on Machine Learning, 2018.
         <https://arxiv.org/abs/1803.02453>`_
      .. [#agarwal19] `A. Agarwal, M. Dudik, and Z. Wu, "Fair Regression:
         Quantitative Definitions and Reduction-based Algorithms,"
         International Conference on Machine Learning, 2019.
         <https://arxiv.org/abs/1905.12843>`_
docstr: Probability estimates.
  
  The returned estimates for all classes are ordered by the label of
  classes for classification.
  
  Args:
      X (pandas.DataFrame): Test samples.
  
  Returns:
      numpy.ndarray: returns the probability of the sample for each class
      in the model, where classes are ordered as they are in
      ``self.classes_``.
code: def predict_proba(self, X):
      """Probability estimates.
  
      The returned estimates for all classes are ordered by the label of
      classes for classification.
  
      Args:
          X (pandas.DataFrame): Test samples.
  
      Returns:
          numpy.ndarray: returns the probability of the sample for each class
          in the model, where classes are ordered as they are in
          ``self.classes_``.
      """
      if self.drop_prot_attr:
          X = X.drop(self.prot_attr, axis=1)
  
      if isinstance(self.model_.constraints, red.ClassificationMoment):
          return self.model_.predict_proba(X)
  
      raise NotImplementedError(
          "Underlying model does not support " "predict_proba"
      )
  
file_path: AIF360/aif360/sklearn/inprocessing/grid_search_reduction.py
imports: from sklearn.base import BaseEstimator, ClassifierMixin, clone
  from sklearn.preprocessing import LabelEncoder
label_desc: Use image node_id 4 for calling the GridSearchReduction obj's underlying member method code with example usage: obj.predict_proba(X) and returns: self