code: def _generate_feature_labels(self, X):
          '''
          Generates string feature labels
          '''
          Xt, Xc = get_ts_data_parts(X)
  
          ftr_sizes = self._check_features(self.features, Xt[0:3])
          f_labels = []
  
          # calculated features
          for key in ftr_sizes:
              for i in range(ftr_sizes[key]):
                  f_labels += [key + '_' + str(i)]
  
          # contextual features
          if Xc is not None:
              Ns = len(np.atleast_1d(Xc[0]))
              s_labels = ["context_" + str(i) for i in range(Ns)]
              f_labels += s_labels
  
          return f_labelf _generate_feature_labels(self, X):
          '''
          Generates string feature labels
          '''
          Xt, Xc = get_ts_data_parts(X)
  
          ftr_sizes = self._check_features(self.features, Xt[0:3])
          f_labels = []
  
          # calculated features
          for key in ftr_sizes:
              for i in range(ftr_sizes[key]):
                  f_labels += [key + '_' + str(i)]
  
          # contextual features
          if Xc is not None:
              Ns = len(np.atleast_1d(Xc[0]))
              s_labels = ["context_" + str(i) for i in range(Ns)]
              f_labels += s_labels
  
          return f_labels
docs: Generates string feature labels