docs: def choose(self, context_ms=None):
          """ Returns a point chosen by the interest model
          """
          try:
              if self.context_mode is None:
                  x = self.interest_model.sample()
              else:
                  if self.context_mode["mode"] == 'mdmsds':
                      if self.expl_dims == self.conf.s_dims:
                          x = np.hstack((context_ms[self.conf.m_ndims//2:], self.interest_model.sample_given_context(context_ms[self.conf.m_ndims//2:], range(self.conf.s_ndims//2))))
                      else:
                          if self.context_mode['choose_m']:
                              x = self.interest_model.sample()
                          else:
                              x = np.hstack((context_ms[:self.conf.m_ndims//2], self.interest_model.sample_given_context(context_ms[:self.conf.m_ndims//2], range(self.conf.m_ndims//2))))                
                  elif self.context_mode["mode"] == 'mcs':
                      x = np.hstack((context_ms, self.interest_model.sample_given_context(context_ms, range(self.context_mode["context_n_dims"]))))
          except ExplautoBootstrapError:
              logger.warning('Interest model not bootstrapped yet')
              x = rand_bounds(self.conf.bounds[:, self.expl_dims]).flatten()
              if self.context_mode is not None:
                  x = x[list(set(self.expl_dims) - set(self.context_mode['context_dims']))]
          return x