code: def test_rank_classification_normalized(self):
      # num_classes = 2
      self.assertDictClose(
          metrics.rank_classification(
              [
                  # 0
                  ((0, 0), True, 1.0, 5),
                  ((0, 1), False, 1.0, 10),
                  # 1
                  ((1, 0), False, 1.0, 2),
                  ((1, 1), True, 1.0, 3),
                  # 0
                  ((2, 0), True, 1.0, 5),
                  ((2, 1), False, 1.0, 6),
                  # 0
                  ((3, 0), True, 1.0, 3),
                  ((3, 1), False, 1.0, 2),
              ],
              [0.5, 5.0, 2.0, 3.3, 1.5, 0.6, 1.8, 1.0],
              num_classes=2,
              normalize_by_target_length=True,
          ),
          {
              "accuracy": 75.0,
              "auc-pr": 50.0,
              "auc-roc": 66.6666667,
              "f1": 66.6666667,
          },
      )
  
imports: from unittest import mock
  from absl.testing import absltest
  import numpy
  import seqio
  import sklearn.metrics
  from t5.evaluation import metrics
  from t5.evaluation import test_utils
label_desc: Use image node_id 33 for calling the MetricsTest obj's underlying member method code with example usage: obj.test_rank_classification_normalized() without return types