Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support "range" hyperparameters #111

Open
csala opened this issue Feb 8, 2019 · 1 comment
Open

Support "range" hyperparameters #111

csala opened this issue Feb 8, 2019 · 1 comment
Assignees
Labels
new feature New features that affect the public API

Comments

@csala
Copy link
Contributor

csala commented Feb 8, 2019

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?

@micahjsmith micahjsmith added the new feature New features that affect the public API label Feb 13, 2019
@micahjsmith
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New features that affect the public API
Projects
None yet
Development

No branches or pull requests

3 participants