如何在遗传算法工具箱Deap中生成0到1之间的随机数

How to generate random number between 0 and 1 in genetic algorithm toolbox, Deap

我在 Python 中使用 genetic algorithm toolbox。代码:

toolbox.register("attr_bool", random.randint, 0, 1)通常定义要生成的随机数01。问题是我正在寻找 01 之间的随机数。我使用 toolbox.register("attr_bool", random.uniform(0, 1)),但出现以下错误: TypeError: the first argument must be callable

错误告诉你它必须能够调用第一个参数,这意味着它必须能够充当一个函数。 random.randint 是一个函数,但 random.uniform(0, 1) 不是。它是一个浮点数。要解决此问题,您可以简单地使用 lambda 关键字创建一个匿名包装函数:

toolbox.register("attr_bool", lambda: random.uniform(0, 1))