Алгоритм Наївного Байєса

Інтерактивний симулятор класифікації повідомлень

База даних (Словник)

Слів: 6
Апріорний шанс Спаму: 50%
Більше Нормальних (10%) Рівні шанси (50%) Більше Спаму (90%)

Кількість зустрічань кожного слова в історичних (навчальних) даних:

Додати власне слово у статистику навчання:

💥
💚

Класифікація повідомлення

Напишіть текст повідомлення або клікніть на швидкі шаблони знизу. Алгоритм проаналізує кожне слово, розрахує ймовірність того, що цей текст належить до категорії Спам або до Нормальних (Ham) листів.

Шаблони листів:
SPAM
Категорія СПАМ

0%

Апостеріорний шанс: 0

Ймовірність бути спамом
Рішення моделі
Аналіз...
HAM
Категорія НОРМАЛЬНИЙ

0%

Апостеріорний шанс: 0

Ймовірність бути ок

Детальні кроки математичного розрахунку

Згладжування Лапласа (\(\alpha=1\)): Увімкнено

1 Загальна статистика бази даних

• Кількість унікальних слів у словнику (V) = 6
• Всього слів у спам-базі = 12
• Всього слів у нормальній базі = 8
• Апріорна ймовірність: P(Spam) = 0.5 P(Ham) = 0.5

2 Ймовірності для знайдених у тексті слів

Обчислюються з урахуванням згладжування за формулою:
\(P(\text{слово}|\text{Клас}) = \frac{\text{кількість зустрічань} + 1}{\text{всього слів у класі} + V}\)

Слово У Спамі У Нормальних Формула P(Слово | Spam) Формула P(Слово | Ham)

3 Перемноження індивідуальних ймовірностей

Перемножуємо апріорний шанс класу на ймовірності кожного виявленого слова:

Для класу СПАМ:
P(Spam) × P(w1|Spam) × P(w2|Spam) = ...
= 0.0
Для класу НОРМАЛЬНИЙ:
P(Ham) × P(w1|Ham) × P(w2|Ham) = ...
= 0.0

4 Нормалізація (Переведення у відсотки)

Щоб отримати суму 100%, ділимо результат кожного класу на суму результатів обох класів:

Спам (%) = \(\frac{Rez_{Spam}}{Rez_{Spam} + Rez_{Ham}}\) 0%
Нормальний (%) = \(\frac{Rez_{Ham}}{Rez_{Spam} + Rez_{Ham}}\) 0%