gpt4 book ai didi

python - 如何使用 random.randint 以不等概率找到随机 0 和 1

转载 作者:行者123 更新时间:2023-11-28 21:46:30 26 4
gpt4 key购买 nike

我正在使用 DEAP Python 中用于遗传算法的工具箱。

toolbox.register("attr_bool", random.randint, 0, 1) 是一个为 GA 中的种群随机选择 0 和 1 的函数。我想强制 GA 随机选择 0 和 1,但例如 80% 为 1,其余为 0。

我认为 srng.binomial(X.shape, p=retain_prob) 是一个选择,但我想使用 random.randint 函数。想知道我们如何做到这一点?

最佳答案

toolbox.register 的参数必须是一个函数以及运行时要传递给该函数的参数

因为 0 if random.randint(0, 4) == 0 else 1 不是一个函数(它是一个随机数)你得到了一个错误。解决方法是将此表达式打包到一个函数中,您可以将该函数传递给 toolbox.register:

# returns 1 with probability p and 0 with probability 1-p
def bernoulli(p):
if random.random() < p:
return 1
else:
return 0

toolbox.register("attr_bool", bernoulli, 0.8)

关于python - 如何使用 random.randint 以不等概率找到随机 0 和 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37824729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com