class_docstr: Exponentiated gradient reduction for fair classification.
  
  Exponentiated gradient reduction is an in-processing technique that reduces
  fair classification to a sequence of cost-sensitive classification problems,
  returning a randomized classifier with the lowest empirical error subject to
  fair classification constraints [#agarwal18]_.
  
  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>`_
docstr: Learns randomized model with less bias
  
  Args:
      dataset: (Binary label) Dataset containing true labels.
  
  Returns:
      ExponentiatedGradientReduction: Returns self.
code: def fit(self, dataset):
      """Learns randomized model with less bias
  
      Args:
          dataset: (Binary label) Dataset containing true labels.
  
      Returns:
          ExponentiatedGradientReduction: Returns self.
      """
      # set prot_attr
      self.model.prot_attr = dataset.protected_attribute_names
  
      X_df = pd.DataFrame(
          dataset.features, columns=dataset.feature_names
      )
      Y = dataset.labels
  
      self.model.fit(X_df, Y)
  
      return self
  
file_path: AIF360/aif360/algorithms/inprocessing/exponentiated_gradient_reduction.py
imports: from logging import warning
  import pandas
  from aif360.algorithms import Transformer
  from aif360.sklearn.inprocessing import ExponentiatedGradientReduction
label_desc: Use image node_id 2 for calling the ExponentiatedGradientReduction obj's underlying member method code with example usage: obj.fit(dataset) and returns: self