如何在遗传算法工具箱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)
通常定义要生成的随机数0
和1
。问题是我正在寻找 0
和 1
之间的随机数。我使用 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))
我在 Python 中使用 genetic algorithm toolbox。代码:
toolbox.register("attr_bool", random.randint, 0, 1)
通常定义要生成的随机数0
和1
。问题是我正在寻找 0
和 1
之间的随机数。我使用 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))