gpt4 book ai didi

python - 如何在python中进行类别的加权随机样本

转载 作者:IT老高 更新时间:2023-10-28 22:14:56 24 4
gpt4 key购买 nike

给定一个元组列表,其中每个元组包含一个概率和一个项目,我想根据其概率对一个项目进行抽样。例如,给出列表 [ (.3, 'a'), (.4, 'b'), (.3, 'c')] 我想在 40% 的时间对 'b' 进行采样。

在 python 中执行此操作的规范方法是什么?

我查看了 random 模块,它似乎没有适当的功能,并且在 numpy.random 中,虽然它具有多项函数,但似乎并没有以很好的形式返回这个问题的结果。我基本上是在 matlab 中寻找类似 mnrnd 的东西。

非常感谢。

感谢您这么快给出所有答案。澄清一下,我不是在寻找如何编写采样方案的解释,而是指出一种简单的方法来从给定一组对象和权重的多项分布中采样,或者被告知不存在这样的函数在标准库中,所以应该自己编写。

最佳答案

这可能会做你想做的事:

numpy.array([.3,.4,.3]).cumsum().searchsorted(numpy.random.sample(5))

关于python - 如何在python中进行类别的加权随机样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432499/

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