class_docstr: Wrapper for running a grid search over threshold, margin combinations for
  a RejectOptionClassifier.
  
  Note:
      :class:`~sklearn.model_selection.GridSearchCV` does not currently
      support sample weights in scoring. This will work but throw a warning if
      `sample_weight` is provided.
  
  See also:
      :class:`RejectOptionClassifier`
  
  Examples:
      >>> import matplotlib.pyplot as plt
      >>> import pandas as pd
      >>> from sklearn.linear_model import LogisticRegression
      >>> from aif360.sklearn.datasets import fetch_german
      >>> from aif360.sklearn.postprocessing import RejectOptionClassifierCV
      >>> X, y = fetch_german(numeric_only=True)
      >>> lr = LogisticRegression(solver='lbfgs').fit(X, y)
      >>> roc = RejectOptionClassifierCV('sex', scoring='disparate_impact')
      >>> roc.fit(pd.DataFrame(lr.predict_proba(X), index=X.index), y)
  
      We can also achieve this more simply using a PostProcessingMeta
      estimator:
  
      >>> from aif360.sklearn.postprocessing import PostProcessingMeta
      >>> pp = PostProcessingMeta(lr, roc).fit(X, y)
code: def _more_tags(self):
      return {"requires_proba": True}
  
imports: import warnings
  import numpy
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.model_selection import GridSearchCV
  from sklearn.utils.validation import check_is_fitted
  from aif360.sklearn.metrics import statistical_parity_difference
  from aif360.sklearn.metrics import average_odds_error
  from aif360.sklearn.metrics import equal_opportunity_difference
  from aif360.sklearn.metrics import disparate_impact_ratio
  from aif360.sklearn.metrics import make_scorer
  from aif360.sklearn.utils import check_groups
label_desc: Use image node_id 2 for calling the RejectOptionClassifierCV obj's underlying member method code with example usage: obj._more_tags() and returns: dict