random_search_tuner#
随机搜索优化器。
模块内容#
类摘要#
随机搜索优化器。 |
目录#
- class evalml.tuners.random_search_tuner.RandomSearchTuner(pipeline_hyperparameter_ranges, with_replacement=False, replacement_max_attempts=10, random_seed=0)[source]#
随机搜索优化器。
- 参数
pipeline_hyperparameter_ranges (dict) – 对应于管道参数的超参数范围集合
with_replacement (bool) – 如果为 False,则仅显示唯一的超参数
replacement_max_attempts (int) – 获取一组唯一的随机参数的最大尝试次数。仅当调优器使用 with_replacement=True 初始化时使用
random_seed (int) – 随机数生成器的种子。默认为 0。
示例
>>> 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'}}
方法
不适用于随机搜索调优器,因为生成的参数不依赖于先前参数的分数。
根据管道超参数范围获取起始参数。
检查是否可以生成一组有效的参数。将生成的参数存储在
self.curr_params
中,由propose()
返回。生成一组唯一的参数。
- add(self, pipeline_parameters, score)[source]#
不适用于随机搜索调优器,因为生成的参数不依赖于先前参数的分数。
- 参数
pipeline_parameters (dict) – 用于评估管道的参数字典
score (float) – 使用提供的参数评估管道获得的分数
- get_starting_parameters(self, hyperparameter_ranges, random_seed=0)#
根据管道超参数范围获取起始参数。
- 参数
hyperparameter_ranges (dict) – 在搜索期间传入的自定义超参数范围。用于确定起始参数。
random_seed (int) – 要使用的随机种子。默认为 0。
- 返回值
用于初始化管道的随机选择的起始参数。
- 返回类型
dict