random_search_tuner¶
Random Search Optimizer.
Module Contents¶
Classes Summary¶
Random Search Optimizer. |
Contents¶
-
class
evalml.tuners.random_search_tuner.
RandomSearchTuner
(pipeline_hyperparameter_ranges, with_replacement=False, replacement_max_attempts=10, random_seed=0)[source]¶ Random Search Optimizer.
- Parameters
pipeline_hyperparameter_ranges (dict) – a set of hyperparameter ranges corresponding to a pipeline’s parameters
with_replacement (bool) – If false, only unique hyperparameters will be shown
replacement_max_attempts (int) – The maximum number of tries to get a unique set of random parameters. Only used if tuner is initalized with with_replacement=True
random_seed (int) – Seed for random number generator. Defaults to 0.
Example
>>> tuner = RandomSearchTuner({'My Component': {'param a': [0.0, 10.0], 'param b': ['a', 'b', 'c']}}, random_seed=42) >>> proposal = tuner.propose() ... >>> assert proposal.keys() == {'My Component'} >>> assert proposal['My Component'] == {'param a': 3.7454011884736254, 'param b': 'c'} ... >>> for each in range(7): ... print(tuner.propose()) {'My Component': {'param a': 7.3199394181140525, 'param b': 'b'}} {'My Component': {'param a': 1.5601864044243654, 'param b': 'a'}} {'My Component': {'param a': 0.5808361216819947, 'param b': 'c'}} {'My Component': {'param a': 6.011150117432089, 'param b': 'c'}} {'My Component': {'param a': 0.2058449429580245, 'param b': 'c'}} {'My Component': {'param a': 8.32442640800422, 'param b': 'a'}} {'My Component': {'param a': 1.8182496720710064, 'param b': 'a'}}
Methods
Not applicable to random search tuner as generated parameters are not dependent on scores of previous parameters.
Checks if it is possible to generate a set of valid parameters. Stores generated parameters in
self.curr_params
to be returned bypropose()
.Generate a unique set of parameters.
-
add
(self, pipeline_parameters, score)[source]¶ Not applicable to random search tuner as generated parameters are not dependent on scores of previous parameters.
- Parameters
pipeline_parameters (dict) – A dict of the parameters used to evaluate a pipeline
score (float) – The score obtained by evaluating the pipeline with the provided parameters
-
is_search_space_exhausted
(self)[source]¶ Checks if it is possible to generate a set of valid parameters. Stores generated parameters in
self.curr_params
to be returned bypropose()
.- Returns
If no more valid parameters exists in the search space, return False.
- Return type
bool
- Raises
NoParamsException – If a search space is exhausted, then this exception is thrown.
-
propose
(self)[source]¶ Generate a unique set of parameters.
If tuner was initialized with
with_replacement=True
and the tuner is unable to generate a unique set of parameters afterreplacement_max_attempts
tries, thenNoParamsException
is raised.- Returns
Proposed pipeline parameters
- Return type
dict