bayes_opt.SequentialDomainReductionTransformer

See the Sequential Domain Reduction notebook for a complete example.

class bayes_opt.SequentialDomainReductionTransformer(gamma_osc: float = 0.7, gamma_pan: float = 1.0, eta: float = 0.9, minimum_window: NDArray[Float] | collections.abc.Sequence[float] | Mapping[str, float] | float = 0.0) None

Reduce the searchable space.

A sequential domain reduction transformer based on the work by Stander, N. and Craig, K: “On the robustness of a simple domain reduction scheme for simulation-based optimization”

Parameters:
gamma_osc : float, default=0.7

Parameter used to scale (typically dampen) oscillations.

gamma_pan : float, default=1.0

Parameter used to scale (typically unitary) panning.

eta : float, default=0.9

Zooming parameter used to shrink the region of interest.

minimum_window : float or np.ndarray or dict, default=0.0

Minimum window size for each parameter. If a float is provided, the same value is used for all parameters.

initialize(target_space: TargetSpace) None

Initialize all of the parameters.

Parameters:
target_space : TargetSpace

TargetSpace this DomainTransformer operates on.

Return type:

None

transform(target_space: TargetSpace) dict[str, ndarray[Any, dtype[floating[Any]]]]

Transform the bounds of the target space.

Parameters:
target_space : TargetSpace

TargetSpace this DomainTransformer operates on.

Return type:

dict[str, ndarray[Any, dtype[floating[Any]]]]

Returns:

dict – The new bounds of each parameter.