BTB icon indicating copy to clipboard operation
BTB copied to clipboard

Support "range" hyperparameters

Open csala opened this issue 5 years ago • 1 comments

There are some cases where a hyperparameter is a range of values. An example of this is the quantile_range in scikit-learn Robust Scaler

Currently, a user could separate this range in two values, upper and lower bounds, and set two different float hyperparameters, but then proposals should have to be discarded also on the user side in the cases where the lower bound is higher than the upper bound.

A part from that, having to split a single hyperparameter in two conditioned parts to interact with BTB makes the automation of the process much more complicated.

Can we think of a way to support such hyperparameters natively inside BTB?

csala avatar Feb 08 '19 20:02 csala

Investigate whether this can be implemented cleanly as a new hyperparameter. If so, add it.

Otherwise, two workaround are:

  1. use one hp as the lower bound, one float hp as the interval fraction (fraction of the remaining interval at which to set the upper bound), no application code validation is needed
  2. use one hp as the lower bound, one hp as the interval size, and do validation in application code that it does not violate constraints.

micahjsmith avatar Feb 13 '19 16:02 micahjsmith