docs: def predict(self, X, break_ties="random", return_probs=False, **kwargs):
          """Predicts (int) labels for an input X on all tasks
  
          Args:
              X: The input for the predict_proba method
              break_ties: A tie-breaking policy (see Classifier._break_ties())
              return_probs: Return the predicted probabilities as well
  
          Returns:
              Y_p: An n-dim np.ndarray of predictions in {1,...k}
              [Optionally: Y_s: An [n, k] np.ndarray of predicted probabilities]
          """
          Y_s = self._to_numpy(self.predict_proba(X, **kwargs))
          Y_p = self._break_ties(Y_s, break_ties).astype(np.int)
          if return_probs:
              return Y_p, Y_s
          else:
              return Y_p