本文整理汇总了Python中deap.tools.initIterate方法的典型用法代码示例。如果您正苦于以下问题:Python tools.initIterate方法的具体用法?Python tools.initIterate怎么用?Python tools.initIterate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类deap.tools
的用法示例。
在下文中一共展示了tools.initIterate方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _setup_toolbox
# 需要导入模块: from deap import tools [as 别名]
# 或者: from deap.tools import initIterate [as 别名]
def _setup_toolbox(self):
with warnings.catch_warnings():
warnings.simplefilter('ignore')
creator.create('FitnessMulti', base.Fitness, weights=(-1.0, 1.0))
creator.create('Individual', gp.PrimitiveTree, fitness=creator.FitnessMulti, statistics=dict)
self._toolbox = base.Toolbox()
self._toolbox.register('expr', self._gen_grow_safe, pset=self._pset, min_=self._min, max_=self._max)
self._toolbox.register('individual', tools.initIterate, creator.Individual, self._toolbox.expr)
self._toolbox.register('population', tools.initRepeat, list, self._toolbox.individual)
self._toolbox.register('compile', self._compile_to_sklearn)
self._toolbox.register('select', tools.selNSGA2)
self._toolbox.register('mate', self._mate_operator)
if self.tree_structure:
self._toolbox.register('expr_mut', self._gen_grow_safe, min_=self._min, max_=self._max + 1)
else:
self._toolbox.register('expr_mut', self._gen_grow_safe, min_=self._min, max_=self._max)
self._toolbox.register('mutate', self._random_mutation_operator)
示例2: init_deap_functions
# 需要导入模块: from deap import tools [as 别名]
# 或者: from deap.tools import initIterate [as 别名]
def init_deap_functions(self):
creator.create("Fitness", base.Fitness, weights=self.weights)
creator.create("Individual", list, fitness=creator.Fitness)
self.toolbox = base.Toolbox()
self.toolbox.register("individual", tools.initIterate, creator.Individual, self.generate_ind)
self.toolbox.register("population", tools.initRepeat, list, self.toolbox.individual)
self.toolbox.register("evaluate", self.fit_func)
if self.penalty != None:
self.toolbox.decorate("evaluate", tools.DeltaPenality(self.feasible, self.inf_val))
示例3: create_toolbox
# 需要导入模块: from deap import tools [as 别名]
# 或者: from deap.tools import initIterate [as 别名]
def create_toolbox():
pset = gp.PrimitiveSet("MAIN", 1)
pset.addPrimitive(operator.add, 2)
pset.addPrimitive(operator.sub, 2)
pset.addPrimitive(operator.mul, 2)
pset.addPrimitive(division_operator, 2)
pset.addPrimitive(operator.neg, 1)
pset.addPrimitive(math.cos, 1)
pset.addPrimitive(math.sin, 1)
pset.addEphemeralConstant("rand101", lambda: random.randint(-1,1))
pset.renameArguments(ARG0='x')
creator.create("FitnessMin", base.Fitness, weights=(-1.0,))
creator.create("Individual", gp.PrimitiveTree, fitness=creator.FitnessMin)
toolbox = base.Toolbox()
toolbox.register("expr", gp.genHalfAndHalf, pset=pset, min_=1, max_=2)
toolbox.register("individual", tools.initIterate, creator.Individual, toolbox.expr)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
toolbox.register("compile", gp.compile, pset=pset)
toolbox.register("evaluate", eval_func, points=[x/10. for x in range(-10,10)])
toolbox.register("select", tools.selTournament, tournsize=3)
toolbox.register("mate", gp.cxOnePoint)
toolbox.register("expr_mut", gp.genFull, min_=0, max_=2)
toolbox.register("mutate", gp.mutUniform, expr=toolbox.expr_mut, pset=pset)
toolbox.decorate("mate", gp.staticLimit(key=operator.attrgetter("height"), max_value=17))
toolbox.decorate("mutate", gp.staticLimit(key=operator.attrgetter("height"), max_value=17))
return toolbox
示例4: create_toolbox
# 需要导入模块: from deap import tools [as 别名]
# 或者: from deap.tools import initIterate [as 别名]
def create_toolbox():
global robot, pset
pset = gp.PrimitiveSet("MAIN", 0)
pset.addPrimitive(robot.if_target_ahead, 2)
pset.addPrimitive(Prog().prog2, 2)
pset.addPrimitive(Prog().prog3, 3)
pset.addTerminal(robot.move_forward)
pset.addTerminal(robot.turn_left)
pset.addTerminal(robot.turn_right)
creator.create("FitnessMax", base.Fitness, weights=(1.0,))
creator.create("Individual", gp.PrimitiveTree, fitness=creator.FitnessMax)
toolbox = base.Toolbox()
# Attribute generator
toolbox.register("expr_init", gp.genFull, pset=pset, min_=1, max_=2)
# Structure initializers
toolbox.register("individual", tools.initIterate, creator.Individual, toolbox.expr_init)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
toolbox.register("evaluate", eval_func)
toolbox.register("select", tools.selTournament, tournsize=7)
toolbox.register("mate", gp.cxOnePoint)
toolbox.register("expr_mut", gp.genFull, min_=0, max_=2)
toolbox.register("mutate", gp.mutUniform, expr=toolbox.expr_mut, pset=pset)
return toolbox
示例5: test_statistics_compile
# 需要导入模块: from deap import tools [as 别名]
# 或者: from deap.tools import initIterate [as 别名]
def test_statistics_compile(self):
l = 10
gen_idx = partial(random.sample, range(l), l)
i = tools.initIterate(list, gen_idx)
self.assertSetEqual(set(i), set(range(l)))
示例6: get_toolbox
# 需要导入模块: from deap import tools [as 别名]
# 或者: from deap.tools import initIterate [as 别名]
def get_toolbox(self, predictors, response, pset, variable_type_indices, variable_names):
subset_size = int(math.floor(predictors.shape[0] * self.subset_proportion))
creator.create("Error", base.Fitness, weights=(-1.0,))
creator.create("Individual", sp.SimpleParametrizedPrimitiveTree, fitness=creator.Error, age=int)
toolbox = base.Toolbox()
toolbox.register("expr", sp.generate_parametrized_expression,
partial(gp.genHalfAndHalf, pset=pset, min_=self.min_depth_init, max_=self.max_depth_init),
variable_type_indices, variable_names)
toolbox.register("individual", tools.initIterate, creator.Individual, toolbox.expr)
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
toolbox.register("compile", gp.compile, pset=pset)
toolbox.register("grow", sp.generate_parametrized_expression,
partial(gp.genGrow, pset=pset, min_=self.min_gen_grow, max_=self.max_gen_grow),
variable_type_indices, variable_names)
toolbox.register("mutate", operators.mutation_biased, expr=toolbox.grow,
node_selector=operators.uniform_depth_node_selector)
toolbox.decorate("mutate", operators.static_limit(key=operator.attrgetter("height"), max_value=self.max_height))
toolbox.decorate("mutate", operators.static_limit(key=len, max_value=self.max_size))
# self.history = tools.History()
# toolbox.decorate("mutate", self.history.decorator)
toolbox.register("error_func", self.error_function)
expression_dict = cachetools.LRUCache(maxsize=1000)
subset_selection_archive = subset_selection.RandomSubsetSelectionArchive(frequency=self.subset_change_frequency,
predictors=predictors,
response=response,
subset_size=subset_size,
expression_dict=expression_dict)
evaluate_function = partial(subset_selection.fast_numpy_evaluate_subset,
get_node_semantics=sp.get_node_semantics,
context=pset.context,
subset_selection_archive=subset_selection_archive,
error_function=toolbox.error_func,
expression_dict=expression_dict)
toolbox.register("evaluate_error", evaluate_function)
self.multi_archive = utils.get_archive(100)
if self.log_mutate:
mutation_stats_archive = archive.MutationStatsArchive(evaluate_function)
toolbox.decorate("mutate", operators.stats_collector(archive=mutation_stats_archive))
self.multi_archive.archives.append(mutation_stats_archive)
self.multi_archive.archives.append(subset_selection_archive)
self.mstats = reports.configure_parametrized_inf_protected_stats()
self.pop = toolbox.population(n=self.pop_size)
toolbox.register("run", truncation_with_elite.optimize, population=self.pop, toolbox=toolbox,
ngen=self.ngen, stats=self.mstats, archive=self.multi_archive, verbose=False,
history=None)
# history=self.history)
toolbox.register("save", reports.save_log_to_csv)
toolbox.decorate("save", reports.save_archive(self.multi_archive))
return toolbox