Skip to main content
`Ctrl`+`K`

# `skopt.acquisition`.gaussian_ei

skopt.acquisition.gaussian_ei(X, model, y_opt=0.0, xi=0.01, return_grad=False)

  Use the expected improvement to calculate the acquisition values.

  The conditional probability `P(y=f(x) | x)` form a gaussian with a certain mean and standard deviation approximated by the model.

  The EI condition is derived by computing `E[u(f(x))]` where `u(f(x)) = 0`, if `f(x) > y_opt` and `u(f(x)) = y_opt - f(x)`, if``f(x) < y_opt``.

  This solves one of the issues of the PI condition by giving a reward proportional to the amount of improvement got.

  Note that the value returned by this function should be maximized to obtain the `X` with maximum improvement.

  Parameters:
    X array-like, shape=(n_samples, n_features)

      Values where the acquisition function should be computed.

    model sklearn estimator that implements predict with `return_std`

      The fit estimator that approximates the function through the method `predict`. It should have a `return_std` parameter that returns the standard deviation.

    y_opt float, default 0

      Previous minimum value which we would like to improve upon.

    xi float, default=0.01

      Controls how much improvement one wants over the previous best values. Useful only when `method` is set to “EI”

    return_grad boolean, optional

      Whether or not to return the grad. Implemented only for the case where `X` is a single sample.

  Returns:
    values array-like, shape=(X.shape[0],)

      Acquisition function values computed at X.