gpt4 book ai didi

python - 是否有类似于 np.random.choice 的函数,它有更高的概率选择概率分布中较低的值?

转载 作者:太空宇宙 更新时间:2023-11-03 19:47:56 31 4
gpt4 key购买 nike

我有一个对象数组,每个对象都有相应的概率

sample = [a, b, c, d, e, f]
probability = [0.1, 0.15, 0.6, 0.05, 0.03, 0.07]

对于我的类中的大多数函数来说,这非常适合与 np.random.choice 一起使用,因为我想选择概率最高的值。

但是,在其中一个函数上,我需要它偏向于概率较低的值(即,在样本中选择 e 和 d 的可能性高于选择 c)。

是否有一个函数可以做到这一点,或者我是否需要考虑将概率转换为某种逆概率,例如

inverse_probability = [(1-x) for x in probability]
inverse_probability = [x/sum(inverse_probability) for x in probability]

然后在 np.random.choice 函数中使用它?

提前致谢!

最佳答案

这是一个简单的解决方案,但应该可以解决您的问题:

sample = ['a', 'b', 'c', 'd', 'e', 'f']
probability = [0.1, 0.15, 0.6, 0.05, 0.03, 0.07]
np.random.choice(a=sample, p=probability)

解决方案1:

inverse_probability = [(1-x) for x in probability]
inverse_probability = [x/sum(inverse_probability) for x in inverse_probability]
np.random.choice(a=sample, p=inverse_probability)

解决方案2:

inverse_probability = [1/x for x in probability]
inverse_probability = [x/sum(inverse_probability) for x in inverse_probability]
np.random.choice(a=sample, p=inverse_probability)

关于python - 是否有类似于 np.random.choice 的函数,它有更高的概率选择概率分布中较低的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60018532/

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