skopt_tuner#
Bayesian Optimizer.
Module Contents#
Classes Summary#
Bayesian Optimizer. |
Contents#
- evalml.tuners.skopt_tuner.logger#
- class evalml.tuners.skopt_tuner.SKOptTuner(pipeline_hyperparameter_ranges, random_seed=0)[source]#
Bayesian Optimizer.
- Parameters
pipeline_hyperparameter_ranges (dict) – A set of hyperparameter ranges corresponding to a pipeline’s parameters.
random_seed (int) – The seed for the random number generator. Defaults to 0.
Examples
>>> tuner = SKOptTuner({'My Component': {'param a': [0.0, 10.0], 'param b': ['a', 'b', 'c']}}) >>> proposal = tuner.propose() ... >>> assert proposal.keys() == {'My Component'} >>> assert proposal['My Component'] == {'param a': 5.928446182250184, 'param b': 'c'}
Determines points using a Bayesian Optimizer approach.
>>> for each in range(7): ... print(tuner.propose()) {'My Component': {'param a': 8.57945617622757, 'param b': 'c'}} {'My Component': {'param a': 6.235636967859724, 'param b': 'b'}} {'My Component': {'param a': 2.9753460654447235, 'param b': 'a'}} {'My Component': {'param a': 2.7265629458011325, 'param b': 'b'}} {'My Component': {'param a': 8.121687287754932, 'param b': 'b'}} {'My Component': {'param a': 3.927847961008298, 'param b': 'c'}} {'My Component': {'param a': 3.3739616041726843, 'param b': 'b'}}
Methods
Add score to sample.
Gets the starting parameters given the pipeline hyperparameter range.
Optional. If possible search space for tuner is finite, this method indicates whether or not all possible parameters have been scored.
Returns a suggested set of parameters to train and score a pipeline with, based off the search space dimensions and prior samples.
- add(self, pipeline_parameters, score)[source]#
Add score to sample.
- 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
- Returns
None
- Raises
Exception – If skopt tuner errors.
ParameterError – If skopt receives invalid parameters.
- get_starting_parameters(self, hyperparameter_ranges, random_seed=0)#
Gets the starting parameters given the pipeline hyperparameter range.
- Parameters
hyperparameter_ranges (dict) – The custom hyperparameter ranges passed in during search. Used to determine the starting parameters.
random_seed (int) – The random seed to use. Defaults to 0.
- Returns
The starting parameters, randomly chosen, to initialize a pipeline with.
- Return type
dict
- is_search_space_exhausted(self)#
Optional. If possible search space for tuner is finite, this method indicates whether or not all possible parameters have been scored.
- Returns
Returns true if all possible parameters in a search space has been scored.
- Return type
bool