НачатьНачать бесплатно

Байесовский спам-фильтр

Отличная работа в предыдущем упражнении! Теперь давайте обратимся к знаменитой теореме Байеса и применим её для решения простой, но важной задачи: определения спама.

Просматривая входящие письма, вы заметили, что многие нежелательные сообщения содержат восклицательные фразы вроде «КУПИТЕ СЕЙЧАС!!!». Вы предположили, что наличие трёх восклицательных знаков подряд может служить хорошим признаком спама! Для этого вы подготовили DataFrame под названием 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(____)
Редактировать и запускать код