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

Test and document usage with RandomizedSearchCV #2

Open
jnothman opened this issue Aug 6, 2017 · 7 comments
Open

Test and document usage with RandomizedSearchCV #2

jnothman opened this issue Aug 6, 2017 · 7 comments

Comments

@jnothman
Copy link
Owner

jnothman commented Aug 6, 2017

Do we want to overload the use of set_grid, or use set_rv? Perhaps we can draw parameters from distrib if available, and grid otherwise.

How do we deal with multiple grids when make_randomized_search is called? (raise error?)

Can we generalise this interface?

Much the same can be done for skopt.BayesSearchCV except there multiple grids are allowed, and may have a number of iterations attached to them. Not sure how to specify that with the current searchgrid api.

@betatim
Copy link

betatim commented Aug 9, 2017

Much the same can be done for skopt.BayesSearchCV except there multiple grids are allowed, and may have a number of iterations attached to them.

Do you think the weighting of different options is useful/needed? IMHO we could solve this by implementing weights for Categorical dimensions (in skopt). Instead of having a list of options.

It would require us being able to have a "tree" like search space, with some dimensions only existing for certain values of other dimensions. With the current setup with a list you can do this for one "level", but more gets hard/impossible.

Have you looked at hyperopt's way of specifying a search space?

@jnothman
Copy link
Owner Author

jnothman commented Aug 9, 2017

Yes, I realise implementing weights in categorical dimensions is an option... as long as that categorical draw entailed an entire search subspace as you say. So really it's about a generative sampling model. Which, yes, is what Hyperopt allows you to do (as well as having arbitrary relationships and constraints between parameters).

I suppose I'd be able to express what I need to in BayesSearchCV if your list of tuple format allowed the second value in the tuple to be a float proportion rather than an integer count of iterations.

@jnothman
Copy link
Owner Author

jnothman commented Aug 9, 2017

Or perhaps I mean that the tuple notation could be used to express the prior distribution over those alternatives.

@betatim
Copy link

betatim commented Aug 11, 2017

Dunno, I'm not a fan of the tuple notation. Our code to interpret it is a constant source of confusion and bugs. So I've started telling people to be explicit for anything but the most trivial cases...

@jnothman
Copy link
Owner Author

jnothman commented Aug 13, 2017 via email

@jnothman
Copy link
Owner Author

jnothman commented Aug 13, 2017 via email

@betatim
Copy link

betatim commented Aug 21, 2017

Does allowing the grid to be a categorical-like thing fix those issues?

I'd phrase it as having a dimension like so Categorical([a_space, a_different_space, ...]). Is that what you mean? If yes, then I also think this is probably the way to go. Hard bit is figuring out how to make a regressor that is happy with that so we can have shared knowledge between the two sub-spaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants