code: def __call__(self, x_test):
      distances = x_test[None, :] - self.data[:, None]
      pdfs = np.exp(-0.5 * np.power(distances / self.bw, 2)) / (
          2.5066282746310002 * self.bw
      )
  
      # reweigh to compensate for boundaries
      pdfs *= self.weights
  
      return pdfs
  
imports: import numpy
  import scipy.optimize
  import ConfigSpace
  from scipy.special import erf
  from pdb import set_trace
label_desc: Use image node_id 2 for calling the Gaussian obj's underlying member method code with example usage: obj.__call__(x_test) and returns: pdfs