docs: def sample_epsilon_greedy(self, epsilon=0.1):
          """
          Sample a point in the leaf with the max progress with probability (1-eps) and a random leaf with probability (eps).
          
          Parameters
          ----------
          epsilon : float 
              
          """
          if epsilon > np.random.random():
              sampling_mode = self.sampling_mode
              sampling_mode['mode'] = 'random'
              return self.sample(sampling_mode=sampling_mode)
          else:
              sampling_mode = self.sampling_mode
              sampling_mode['mode'] = 'greedy'
              return self.sample(sampling_mode=sampling_mode)