0

是否有一种快速方法或函数可以在不导入随机数的情况下自动计算分布中项目的概率?

例如,考虑以下分布(字典):

y = {"red":3, "blue":4, "green":2, "yellow":5}
  1. 我想计算挑选每个项目的概率。
  2. 我还想计算选择一个红色和两个贪婪的概率。

有什么建议么?

4

1 回答 1

2

对于频率:

   y = {"red":3, "blue":4, "green":2, "yellow":5} 
   frequencies = {key:float(value)/sum(y.values()) for (key,value) in y.items()}

并且具有给定组合的概率是它们中的每一个乘以之前的概率。

   combination = ["red", "green", "green"]
   prob = 1. # initialized to 1
   for ii in combination:
       prob *= frequencies[ii]
   print prob
   0.00437317784257

这听起来合理吗?

于 2013-08-23T13:47:10.253 回答