code: def predict(self, X, break_ties="random", return_probs=False, **kwargs):
          
          Y_s = self.predict_proba(X, **kwargs)
          self._check(Y_s, typ=list)
          self._check(Y_s[0], typ=np.ndarray)
  
          Y_p = []
          for Y_ts in Y_s:
              Y_tp = self._break_ties(Y_ts, break_ties)
              Y_p.append(Y_tp.astype(np.int))
  
          if return_probs:
              return Y_p, Y_s
          else:
              return Y_p
docs: 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
              return_probs: Return the predicted probabilities as well
  
          Returns:
              Y_p: A t-length list of n-dim np.ndarrays of predictions in [1, K_t]
              [Optionally: Y_s: A t-length list of [n, K_t] np.ndarrays of
                  predicted probabilities]