Skip to main content
`Ctrl`+`K`

# `skopt.acquisition`.gaussian_pi

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

  Use the probability of 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 PI condition is derived by computing `E[u(f(x))]` where `u(f(x)) = 1`, if `f(x) < y_opt` and `u(f(x)) = 0`, if``f(x) > y_opt``.

  This means that the PI condition does not care about how “better” the predictions are than the previous values, since it gives an equal reward to all of them.

  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.