0

The canonical use case for scikit-optimize is an optimization objective given a fixed set of hyperparameters, where skopt is given full control to explore the space. However, one may wish to simultaneously expose a variable to skopt and fix it to a certain value on a subsequent iteration because it is outside of one's control. Is this possible using the current API?

Hypothetical use case:

We wish to maximize bike sale profit. Price is a free parameter to be optimized. The rain forecast is outside of our control, but we wish to control for it in skopt.

Brian Bien
  • 723
  • 8
  • 21
  • 1
    Does this example help: https://scikit-optimize.github.io/stable/auto_examples/interruptible-optimization.html#sphx-glr-auto-examples-interruptible-optimization-py. It looks like you could stop the search, adjust the parameter and then continue – Sole Galli Jun 09 '21 at 11:31
  • Thanks for the suggestion. The trick here is that we want to be able to still inform skopt of prior trials without throwing out any X containing values outside of the parameter space that is permitted by skopt. I believe a custom implementation is necessary, as skopt would complain that some inputs in X are outside of the input space if one changes the space on subsequent iterations. – Brian Bien Jun 10 '21 at 12:33
  • I'd posed the question in different terms here: https://github.com/scikit-optimize/scikit-optimize/issues/944 – Brian Bien Jun 10 '21 at 12:37
  • https://github.com/scikit-optimize/scikit-optimize/pull/971 – Brian Bien Jun 10 '21 at 12:41

0 Answers0