ПочатиПочніть безкоштовно

Баєсів фільтр спаму

Чудова робота у попередній вправі! Тепер розгляньмо відому теорему Баєса та застосуймо її до простої, але важливої задачі: виявлення спаму.

Переглядаючи вхідні листи, ви помітили, що чимало повідомлень, на які не хотіли б витрачати час, містять окличні вигуки на кшталт «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(____)
Редагувати та запускати код