Python 如何在遗传算法工具箱Deap中生成0到1之间的随机数
我正在使用Python。守则:Python 如何在遗传算法工具箱Deap中生成0到1之间的随机数,python,random,genetic-algorithm,Python,Random,Genetic Algorithm,我正在使用Python。守则: toolbox.register(“attr_bool”,random.randint,0,1)通常定义要生成的0和1的随机数。问题是我在寻找介于0和1之间的随机数。我使用了toolbox.register(“attr_bool”,random.uniform(0,1)),但它会导致以下错误: TypeError:第一个参数必须是可调用的错误告诉您它必须能够调用第一个参数,这意味着它必须能够充当函数random.randint是一个函数,但random.unifo
toolbox.register(“attr_bool”,random.randint,0,1)
通常定义要生成的0
和1
的随机数。问题是我在寻找介于0
和1
之间的随机数。我使用了toolbox.register(“attr_bool”,random.uniform(0,1))
,但它会导致以下错误:
TypeError:第一个参数必须是可调用的
错误告诉您它必须能够调用第一个参数,这意味着它必须能够充当函数random.randint
是一个函数,但random.uniform(0,1)
不是。这是一个浮点数。要解决此问题,只需使用lambda
关键字创建一个匿名包装函数:
toolbox.register("attr_bool", lambda: random.uniform(0, 1))
可能重复第二个答案,而不是第一个括号。将它们与示例的括号进行比较。
TypeError:integer参数应为,get float
。可能我们应该更改:toolbox.register(“个人”,tools.initRepeat,creator.individual,toolbox.attr\u bool,100)
toolbox.register(“填充”,tools.initRepeat,list,toolbox.individual)
如果需要整数,为什么要给它一个浮点数?因为参数应该在0和1之间。最佳值也在该范围内。