- Remove dependency Click, since it was not used.
- Widen dependency ranges, where appropriate, to make the library easier to install.
- Expand version range for importlib_metadata to be compatible with other libraries.
- Fix a crash resulting from bask passing a
numpy.float64
value where anint
was expected.
- Fix
BayesGPR.sample_y(...)
applying input warping twice. This also fixes incorrect behavior byPVRS
,ThompsonSampling
andVarianceReduction
.
- Fix a bug in the predictive variance reduction search (PVRS) acquisition function, where the inputs were not warped correctly.
- Fix a bug where the output
y
was not correctly normalized when passed toBayesGPR.sample(...)
. - Fix not adjusting
noise_vector
whennormalize_y=True
.
- Fix divide by zero encountered in log when evaluating acquisition functions without noise.
- Bump minimum arviz version to 0.10.0.
- Add new initialization using the Steinerberger sequence. This works better in high-dimensional problems than the R2 sequence.
- Fix exception when a categorical parameter is Iterable.
- Make default priors for input warping more focused on the identity transform. This fixes issues with overfitting in high noise environments.
- Fix incorrect recomputation of y mean when using
normalize_y=True
.
- Fix calculation of max-value entropy search and make it more robust.
- Add support for automatic input warping. It can be activated by passing
warp_inputs=True
toBayesGPR
.
- Add
Optimizer.optimum_intervals
which computes the highest density intervals for the optimal parameters. BayesGPR
hasnormalize_y
now set toTrue
by default.- Add option to normalize the optimality gap when computing
Optimizer.expected_optimality_gap
orOptimizer.probability_of_optimality
(activated by default). Optimizer.run
now accepts target functions that also return a noise estimate.Optimizer.run
accepts the same arguments asOptimizer.tell
.
- Fix
guess_priors
not correctly adding the prior for theWhiteKernel
. It is now called directly inBayesGPR.sample
.
- Restrict length scale bounds of the default kernel to a tighter interval. This should help start the MCMC walkers in a region with higher likelihood.
- Replace the default inverse gamma distribution prior for the lengthscales by the round-flat distribution.
- Fix
guess_priors
to correctly add kernels with multiple lengthscales.
- Add
Optimizer.expected_optimality_gap
which estimates the expected optimality gap of the current global optimum to random optima sampled from the Gaussian process. - Check that the list of priors has the correct length.
- Require emcee to be at least version 3.0.
- Add
Optimizer.probability_of_optimality
which estimates the probability that the current global optimum is optimal within a certain tolerance. This can be used to make stopping rules.
- Update and fix dependencies.
- Add
return_policy
parameter toBayesSearchCV
. Allows the user to choose between returning the best observed configuration (in a noise-less setting) or the best predicted configuration (for noisy targets).
- Fix error occuring when an unknown argument was passed to
Optimizer
.
- Add predictive variance reduction search criterion. This is the new default acquisition function.
- Implement
BayesSearchCV
for use with scikit-learn estimators and pipelines. This is an easy to use drop-in replacement for GridSearchCV or RandomSearchCV. It is implemented as a wrapper around skopt.BayesSearchCV. - Determine default kernels and priors to use, if the user provides none.
- Add example notebooks on how to use the library.
- Add API documentation of the library.
- Allow user to pass a vector of noise variances to
tell
,fit
andsample
. This can be used to warm start the optimization process.
- Fix the
tell
method of the optimizer not updating_n_initial_points
correctly, when using replace.
- First release on PyPI.