一种使用python计算分布中项目概率的快速方法

时间:2013-08-23 13:34:41

标签: python dictionary probability

是否存在快速方法或功能,而不是自动计算分布中项目的概率而不随机导入?

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

y = {"red":3, "blue":4, "green":2, "yellow":5}
  1. 我想计算挑选每件商品的概率。
  2. 我还想计算选择红色和两个贪婪的概率。
  3. 有什么建议吗?

1 个答案:

答案 0 :(得分: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

听起来合理吗?