Простейший способ вычислить условную вероятность состоит в том, чтобы перебирать случаи в модели, подсчитывая 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'))
Как бы вы поступили так или иначе? В последнем предложении вам не хватает глагола. –
Я не понимаю вашу проблему –
Вы знаете, как бы вы это сделали с математикой? Просто напишите эту математику в Python. – jwodder