docs: def _set_class_balance(self, class_balance, Y_dev):
          """Set a prior for the class balance
  
          In order of preference:
          1) Use user-provided class_balance
          2) Estimate balance from Y_dev
          3) Assume uniform class distribution
          """
          if class_balance is not None:
              self.p = np.array(class_balance)
          elif Y_dev is not None:
              class_counts = Counter(Y_dev)
              sorted_counts = np.array([v for k, v in sorted(class_counts.items())])
              self.p = sorted_counts / sum(sorted_counts)
          else:
              self.p = (1 / self.k) * np.ones(self.k)
          self.P = torch.diag(torch.from_numpy(self.p)).float()