[英]how to randomly sample from a numpy array of probabilities?
我有一个像这样的 numpy 数组:
arr = [.2 , .1, .2, .3, .2 ]
现在我想做的是从这个数组中采样,这样我得到某个索引的概率取决于索引处的概率。 例如,我得到索引 3 的概率是.3
任何人都知道任何漂亮的方法来做到这一点?
您可以使用np.random.choice
通过将采样分布作为参数p
来使用离散概率分布进行加权采样:
import numpy as np
x = [.2 , .1, .2, .3, .2 ]
# sample from `x` 100 times according to `x`
n_samples = 100
samples = np.random.choice(x, n_samples, p=x)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.