class_docstr: Metric that computes bounded AUC for predictions in [0, 1].
  
  This metrics calculates the subgroup auc, the background positive subgroup
  negative auc and background negative subgroup positive auc. For more
  explanation about the concepts of these auc metrics, please refer to paper
  [Measuring and Mitigating Unintended Bias in Text
  Classification](https://ai.google/research/pubs/pub46743)
class_docstr_tok: ["Metric","that","computes","bounded","AUC","for","predictions","in","[","0",",","1","]",".","This","metrics","calculates","the","subgroup","auc",",","the","background","positive","subgroup","negative","auc","and","background","negative","subgroup","positive","auc",".","For","more","explanation","about","the","concepts","of","these","auc","metrics",",","please","refer","to","paper","[","Measuring","and","Mitigating","Unintended","Bias","in","Text","Classification","]","(","https",":","\/\/ai.google\/research\/pubs\/pub46743",")"]
code: def populate_stats_and_pop(
      self,
      slice_key: slicer.SliceKeyType,
      combine_metrics: Dict[str, Any],
      output_metrics: Dict[str, metrics_pb2.MetricValue],
  ) -> None:
      # Remove metrics if it's not Overall slice. This post export metrics
      # calculate subgroup_auc, bpsn_auc, bnsp_auc. All of these are based on
      # all examples. That's why only the overall slice makes sence and the rest
      # will be removed.
      if slice_key:
          for metrics_key in (
              self._subgroup_auc_metric,
              self._bpsn_auc_metric,
              self._bnsp_auc_metric,
          ):
              combine_metrics.pop(
                  metric_keys.lower_bound_key(metrics_key)
              )
              combine_metrics.pop(
                  metric_keys.upper_bound_key(metrics_key)
              )
              combine_metrics.pop(metrics_key)
      else:
          for metrics_key in (
              self._subgroup_auc_metric,
              self._bpsn_auc_metric,
              self._bnsp_auc_metric,
          ):
              post_export_metrics._populate_to_auc_bounded_value_and_pop(
                  combine_metrics, output_metrics, metrics_key
              )
  
file_path: model-analysis/tensorflow_model_analysis/addons/fairness/post_export_metrics/fairness_indicators.py
imports: from typing import Any, Dict, List, Optional, Tuple
  import tensorflow
  from tensorflow_model_analysis.api import types
  from tensorflow_model_analysis.post_export_metrics import metric_keys
  from tensorflow_model_analysis.post_export_metrics import post_export_metrics
  from tensorflow_model_analysis.proto import metrics_for_slice_pb2
  from tensorflow_model_analysis.slicer import slicer_lib
label_desc: Use image node_id 4 for calling the _FairnessAuc obj's underlying member method code with example usage: obj.populate_stats_and_pop(slice_key, combine_metrics, output_metrics) without return types