Баєсів фільтр спаму
Чудова робота у попередній вправі! Тепер розгляньмо відому теорему Баєса та застосуймо її до простої, але важливої задачі: виявлення спаму.
Переглядаючи вхідні листи, ви помітили, що чимало повідомлень, на які не хотіли б витрачати час, містять окличні вигуки на кшталт «BUY NOW!!!». Ви починаєте думати, що поява трьох окличних знаків підряд може бути добрим предиктором спаму. Тому ви підготували датафрейм emails із двома змінними: spam — чи є лист спамом, і contains_3_exlc — чи містить він рядок "!!!". Початок даних виглядає так:
spam contains_3_excl
0 False False
1 False False
2 True False
3 False False
4 False False
Ваше завдання — обчислити ймовірність того, що лист є спамом, за умови, що він містить три окличні знаки. Розв'яжімо це крок за кроком! Ось формула Баєса для довідки:
$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
Ця вправа є частиною курсу
Баєсівський аналіз даних у Python
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)