class_docstr: Equalized odds postprocessing is a post-processing technique that solves
  a linear program to find probabilities with which to change output labels to
  optimize equalized odds [8]_ [9]_.
  
  References:
      .. [8] M. Hardt, E. Price, and N. Srebro, "Equality of Opportunity in
         Supervised Learning," Conference on Neural Information Processing
         Systems, 2016.
      .. [9] G. Pleiss, M. Raghavan, F. Wu, J. Kleinberg, and
         K. Q. Weinberger, "On Fairness and Calibration," Conference on Neural
         Information Processing Systems, 2017.
docstr: Args:
      unprivileged_groups (list(dict)): Representation for unprivileged
          group.
      privileged_groups (list(dict)): Representation for privileged
          group.
      seed (int, optional): Seed to make `predict` repeatable.
code: def __init__(self, unprivileged_groups, privileged_groups, seed=None):
      """
      Args:
          unprivileged_groups (list(dict)): Representation for unprivileged
              group.
          privileged_groups (list(dict)): Representation for privileged
              group.
          seed (int, optional): Seed to make `predict` repeatable.
      """
      super(EqOddsPostprocessing, self).__init__(
          unprivileged_groups=unprivileged_groups,
          privileged_groups=privileged_groups,
          seed=seed,
      )
  
      self.seed = seed
      self.model_params = None
      self.unprivileged_groups = unprivileged_groups
      self.privileged_groups = privileged_groups
  
file_path: AIF360/aif360/algorithms/postprocessing/eq_odds_postprocessing.py
imports: import numpy
  from scipy.optimize import linprog
  from aif360.algorithms import Transformer
  from aif360.metrics import ClassificationMetric, utils
label_desc: Use image node_id 1 to create a new EqOddsPostprocessing object from inherited base classes: Transformer with example: obj = EqOddsPostprocessing(unprivileged_groups, privileged_groups, seed)