条件概率计算

时间:2015-01-16 21:48:38

标签: python python-2.7

我正在尝试制作马尔可夫模型,与此相关,我需要计算某些字母的条件概率/质量概率。 我已经创建了一个字母频率的二元组。

如何设计计算字母的条件概率/质量概率?

1 个答案:

答案 0 :(得分:5)

计算条件概率的最简单方法是循环计算模型中的案例1)条件发生的情况和2)条件和目标字母出现的情况。条件概率是这两者的比率。

def cp(target, given):
    'Given is a one or two tuple and target is the letter following'
    g = 0.0
    g_and_t = 0.0
    n = len(given)
    for case, count in model.iteritems():
        if case[:n] == given:
            g += count
            if case[n] == target:
                g_and_t += count
    return g_and_t / g if g else 0.0

print cp(target='r', given=('f', 'o'))