pyGPGO.GPGO module

class pyGPGO.GPGO.GPGO(surrogate, acquisition, f, parameter_dict, n_jobs=1)[source]

Bases: object

Bayesian Optimization class.

Parameters:
  • Surrogate (Surrogate model instance) – Gaussian Process surrogate model instance.
  • Acquisition (Acquisition instance) – Acquisition instance.
  • f (fun) – Function to maximize over parameters specified by parameter_dict.
  • parameter_dict (dict) – Dictionary specifying parameter, their type and bounds.
  • n_jobs (int. Default 1) – Parallel threads to use during acquisition optimization.
parameter_key

Parameters to consider in optimization

Type:list
parameter_type

Parameter types.

Type:list
parameter_range

Parameter bounds during optimization

Type:list
history

Target values evaluated along the procedure.

Type:list
__init__(surrogate, acquisition, f, parameter_dict, n_jobs=1)[source]

Bayesian Optimization class.

Parameters:
  • Surrogate (Surrogate model instance) – Gaussian Process surrogate model instance.
  • Acquisition (Acquisition instance) – Acquisition instance.
  • f (fun) – Function to maximize over parameters specified by parameter_dict.
  • parameter_dict (dict) – Dictionary specifying parameter, their type and bounds.
  • n_jobs (int. Default 1) – Parallel threads to use during acquisition optimization.
parameter_key

Parameters to consider in optimization

Type:list
parameter_type

Parameter types.

Type:list
parameter_range

Parameter bounds during optimization

Type:list
history

Target values evaluated along the procedure.

Type:list
_acqWrapper(xnew)[source]

Evaluates the acquisition function on a point.

Parameters:xnew (np.ndarray, shape=((len(self.parameter_key),))) – Point to evaluate the acquisition function on.
Returns:Acquisition function value for xnew.
Return type:float
_firstRun(n_eval=3)[source]

Performs initial evaluations before fitting GP.

Parameters:n_eval (int) – Number of initial evaluations to perform. Default is 3.
_optimizeAcq(method='L-BFGS-B', n_start=100)[source]

Optimizes the acquisition function using a multistart approach.

Parameters:
  • method (str. Default 'L-BFGS-B'.) – Any scipy.optimize method that admits bounds and gradients. Default is ‘L-BFGS-B’.
  • n_start (int.) – Number of starting points for the optimization procedure. Default is 100.
_sampleParam()[source]

Randomly samples parameters over bounds.

Returns:A random sample of specified parameters.
Return type:dict
getResult()[source]

Prints best result in the Bayesian Optimization procedure.

Returns:
  • OrderedDict – Point yielding best evaluation in the procedure.
  • float – Best function evaluation.
run(max_iter=10, init_evals=3, resume=False)[source]

Runs the Bayesian Optimization procedure.

Parameters:
  • max_iter (int) – Number of iterations to run. Default is 10.
  • init_evals (int) – Initial function evaluations before fitting a GP. Default is 3.
  • resume (bool) – Whether to resume the optimization procedure from the last evaluation. Default is False.
updateGP()[source]

Updates the internal model with the next acquired point and its evaluation.