optuna.samplers.nsgaii.BaseCrossover
- class optuna.samplers.nsgaii.BaseCrossover[源代码]
交叉操作的基类。
交叉操作由
NSGAIISampler
用于从n
个父个体的参数创建新的参数组合。注意
此类的具体实现预计只接受数值分布的参数。目前,只有分类参数的交叉操作(均匀交叉)内置于
NSGAIISampler
中。方法
crossover
(parents_params, rng, study, ...)对选定的父个体执行交叉操作。
属性
执行交叉操作所需的父个体数量。
- abstractmethod crossover(parents_params, rng, study, search_space_bounds)[源代码]
对选定的父个体执行交叉操作。
此方法在
sample_relative()
中调用。- 参数:
parents_params (np.ndarray) – 维度为
num_parents x num_parameters
的numpy.ndarray
。表示每个父个体的参数空间。对于数值参数,此空间是连续的。rng (np.random.RandomState) –
numpy.random.RandomState
的实例。study (Study) – 目标研究对象。
search_space_bounds (np.ndarray) – 维度为
len_search_space x 2
的numpy.ndarray
,表示从转换后的搜索空间构建的数值分布边界。
- 返回:
包含新参数组合的 1 维
numpy.ndarray
。- 返回类型:
np.ndarray