grid_search_tuner#

网格搜索优化器,它使用网格生成所有可能的搜索点。

模块内容#

类摘要#

GridSearchTuner

网格搜索优化器,它使用网格生成所有可能的搜索点。

内容#

class evalml.tuners.grid_search_tuner.GridSearchTuner(pipeline_hyperparameter_ranges, n_points=10, random_seed=0)[源代码]#

网格搜索优化器,它使用网格生成所有可能的搜索点。

参数
  • pipeline_hyperparameter_ranges (dict) – 与管道参数对应的一组超参数范围

  • n_points (int) – 从 space 参数定义的每个维度中采样的点的数量。默认为 10。

  • random_seed (int) – 随机数生成器的种子。在此类中未使用,默认为 0。

示例

>>> tuner = GridSearchTuner({'My Component': {'param a': [0.0, 10.0], 'param b': ['a', 'b', 'c']}}, n_points=5)
>>> proposal = tuner.propose()
...
>>> assert proposal.keys() == {'My Component'}
>>> assert proposal['My Component'] == {'param a': 0.0, 'param b': 'a'}

使用网格搜索方法确定点。

>>> for each in range(5):
...     print(tuner.propose())
{'My Component': {'param a': 0.0, 'param b': 'b'}}
{'My Component': {'param a': 0.0, 'param b': 'c'}}
{'My Component': {'param a': 10.0, 'param b': 'a'}}
{'My Component': {'param a': 10.0, 'param b': 'b'}}
{'My Component': {'param a': 10.0, 'param b': 'c'}}

方法

add

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

get_starting_parameters

获取给定管道超参数范围的起始参数。

is_search_space_exhausted

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

propose

从 _grid_points 迭代返回参数。

add(self, pipeline_parameters, score)[源代码]#

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

参数
  • 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)[源代码]#

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

返回

如果搜索空间中没有更多有效的参数,则返回 False。

返回类型

bool

引发

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

propose(self)[源代码]#

从 _grid_points 迭代返回参数。

如果所有可能的参数组合都已评分,则会引发 NoParamsException

返回

建议的管道参数

返回类型

dict