class_docstr: BatchConvSCCS provides parallel batch solving for ConvSCCS k_fold
      and bootstrap
  
  Parameters
  ----------
  batch_size : integer
   for kfold must be multiple of n_fold, and divisor of n_cv_iter
   for bootstrap must be <= rep
code: def _bootstrap(
      self, p_features, p_labels, p_censoring, coeffs, rep, confidence
  ):
      # WARNING: _bootstrap inputs are already preprocessed p_features,
      # p_labels and p_censoring
      # Coeffs here are assumed to be an array (same object than self._coeffs)
      if confidence <= 0 or confidence >= 1:
          raise ValueError("`confidence_level` should be in (0, 1)")
      confidence = 1 - confidence
      if not self._fitted:
          raise RuntimeError("You must fit the model first")
  
      model_list, bootstrap_coeffs = (
          [] for i in range(2)
      )  # 2 on the left
      for i in range(self.batch_size):
          model_list.append(self._construct_model_obj())
  
      sim = SimuSCCS(
          self.n_cases,
          self.n_intervals,
          self.n_features,
          self.n_lags,
          coeffs=self._format_coeffs(coeffs),
      )
  
      def n_bootstrap(jobs):
          coeffs_list = []
          for k in range(jobs):
              y = sim._simulate_multinomial_outcomes(p_features, coeffs)
              model_list[k].fit(p_features, y, p_censoring)
              coeffs_list.append(self._coeffs.copy())
          solved_coeffs = self._bootstrap_multi_fit(
              model_list, coeffs_list
          )
          for k in range(jobs):
              bootstrap_coeffs.append(solved_coeffs[k])
  
      for i in range(rep // self.batch_size):
          n_bootstrap(self.batch_size)
      modulo = rep % self.batch_size
      if modulo > 0:
          n_bootstrap(modulo)
  
      bootstrap_coeffs = np.exp(np.array(bootstrap_coeffs))
      bootstrap_coeffs.sort(axis=0)
      lower_bound = np.log(
          bootstrap_coeffs[int(np.floor(rep * confidence / 2))]
      )
      upper_bound = np.log(
          bootstrap_coeffs[int(np.floor(rep * (1 - confidence / 2)))]
      )
      return Confidence_intervals(
          self._format_coeffs(coeffs),
          self._format_coeffs(lower_bound),
          self._format_coeffs(upper_bound),
          confidence,
      )
  
imports: from tick.survival.convolutional_sccs import *
label_desc: Use image node_id 5 for calling the BatchConvSCCS obj's underlying member method code with example usage: obj._bootstrap(p_features, p_labels, p_censoring, coeffs, rep, confidence) and returns: Confidence_intervals