The precision for which config values are hashed(and thus skipped if deemed duplicate) is a hard-coded value. I am working in a domain where the default truncation value (1e-05) is considered large. The precision threshold should be a parameter like duplicate-threshold=1e-05
.
use_early_stopped_trials: Optional[bool] = None):
assert byo is not None, (
"BayesOpt must be installed!. You can install BayesOpt with"
" the command: `pip install bayesian-optimization`.")
if mode:
assert mode in ["min", "max"], "`mode` must be 'min' or 'max'."
self.max_concurrent = max_concurrent
self._config_counter = defaultdict(int)
self._patience = patience
# int: Precision at which to hash values.
self.repeat_float_precision = 5
if self._patience <= 0:
raise ValueError("patience must be set to a value greater than 0!")
self._skip_duplicate = skip_duplicate
super(BayesOptSearch, self).__init__(
metric=metric,
mode=mode,
max_concurrent=max_concurrent,
use_early_stopped_trials=use_early_stopped_trials)
if utility_kwargs is None:
eoakes
March 29, 2021, 2:22pm
2
@rliaw please take a look at this feature request.
rliaw
March 29, 2021, 3:49pm
3
@bkellerman this sounds good to me. Would you be open to pushing a pull-request?
Sorry, but I am unable to allocate time to put together the PR. It’s not urgent from my perspective, as I’ve changed the hardcoded value.