random_search_tuner#

随机搜索优化器。

模块内容#

类摘要#

RandomSearchTuner

随机搜索优化器。

目录#

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'}}

方法

add

不适用于随机搜索调优器,因为生成的参数不依赖于先前参数的分数。

get_starting_parameters

根据管道超参数范围获取起始参数。

is_search_space_exhausted

检查是否可以生成一组有效的参数。将生成的参数存储在 self.curr_params 中,由 propose() 返回。

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

is_search_space_exhausted(self)[source]#

检查是否可以生成一组有效的参数。将生成的参数存储在 self.curr_params 中,由 propose() 返回。

返回值

如果搜索空间中不再存在有效的参数,则返回 False。

返回类型

bool

引发

NoParamsException – 如果搜索空间已耗尽,则引发此异常。

propose(self)[source]#

生成一组唯一的参数。

如果调优器使用 with_replacement=True 初始化,并且调优器在 replacement_max_attempts 次尝试后仍无法生成一组唯一的参数,则会引发 NoParamsException

返回值

建议的管道参数

返回类型

dict