Refactoring gridsearch_next_hyperparam into something more generic that does not depend on an explicit list of parameters and registries.
Adding some auxiliary functions to help with the matter of registries and unused parameters and scalar parameters.
Adding the possibility of passing random callables to the param grid (e.g. "lr": lambda: np.uniform()).
Adding two more arguments to support that: max_combinations and a random seed. Max combinations is mandatory only when there are random callables (otherwise all combinations will be explored).
Adding more unit and integration tests to cover the newly added complexity.
Improving verbose docstring to handle #79
Adding the experimental history as part of the return
Improving default values for arguments
Any other comments?
One important design choice is that missing parameters in the param_grid do not raise exceptions, only a warning stating the default value shall be used (discussed with @lukostaz).
Another design choice was using the same function (select_best_model_ranking) to implement both grid and random search, as special cases. The problem with two separate functions is that they are both complex and extremely similar, so there would be duplicated code and documentation and two massive functions for the user to understand.
Related Issue(s)
106
Description of Changes
"lr": lambda: np.uniform()
).Any other comments?
One important design choice is that missing parameters in the param_grid do not raise exceptions, only a warning stating the default value shall be used (discussed with @lukostaz).
Another design choice was using the same function (select_best_model_ranking) to implement both grid and random search, as special cases. The problem with two separate functions is that they are both complex and extremely similar, so there would be duplicated code and documentation and two massive functions for the user to understand.