skopt_tuner#
贝叶斯优化器。
模块内容#
类摘要#
贝叶斯优化器。 |
内容#
- evalml.tuners.skopt_tuner.logger#
- class evalml.tuners.skopt_tuner.SKOptTuner(pipeline_hyperparameter_ranges, random_seed=0)[源]#
贝叶斯优化器。
- 参数
pipeline_hyperparameter_ranges (dict) – 与管道参数对应的一组超参数范围。
random_seed (int) – 随机数生成器的种子。默认为 0。
示例
>>> 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'}
使用贝叶斯优化器方法确定点。
>>> 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'}}
方法
将得分添加到样本中。
根据管道超参数范围获取起始参数。
可选。如果调优器的可能搜索空间是有限的,此方法指示是否已对所有可能的参数进行评分。
根据搜索空间维度和先验样本,返回一组建议的参数用于训练和评分管道。
- add(self, pipeline_parameters, score)[源]#
将得分添加到样本中。
- 参数
pipeline_parameters (dict) – 用于评估管道的参数字典。
score (float) – 使用提供的参数评估管道获得的得分。
- 返回
None
- 引发
Exception – 如果 skopt 调优器出错。
ParameterError – 如果 skopt 收到无效参数。
- get_starting_parameters(self, hyperparameter_ranges, random_seed=0)#
根据管道超参数范围获取起始参数。
- 参数
hyperparameter_ranges (dict) – 搜索期间传入的自定义超参数范围。用于确定起始参数。
random_seed (int) – 要使用的随机种子。默认为 0。
- 返回
用于初始化管道的随机选择的起始参数。
- 返回类型
dict
- is_search_space_exhausted(self)#
可选。如果调优器的可能搜索空间是有限的,此方法指示是否已对所有可能的参数进行评分。
- 返回
如果搜索空间中的所有可能参数都已评分,则返回 True。
- 返回类型
bool