def EI(self, x, gp, ymax):
mean, var = gp.predict(x, eval_MSE = True)
if var == 0:
return 0
else:
Z = (mean - ymax)/sqrt(var)
return (mean - ymax) * norm.cdf(Z) + sqrt(var) * norm.pdf(Z)