Що таке алгоритм Naive Bayes?

Алгоритм наївного Байєса - це техніка, яка допомагає побудувати класифікатори. Класифікатори - це моделі, які класифікують проблемні екземпляри та надають їм мітки класів, які представлені у вигляді векторів предикторів або значень ознак. Він заснований на теоремі Байєса. Його називають наївним Байесом, оскільки він передбачає, що значення ознаки не залежить від іншої ознаки, тобто зміна значення ознаки не вплине на значення іншої ознаки. Його також називають ідіотським Бейесом через ту ж причину. Цей алгоритм працює ефективно для великих наборів даних, тому найкраще підходить для прогнозування в реальному часі.

Це допомагає обчислити задню ймовірність P (c | x), використовуючи попередню ймовірність класу P (c), попередню ймовірність прогноктора P (x) та ймовірність прогнозованого даного класу, що також називається імовірністю P (x | c ).

Формула або рівняння для обчислення задньої ймовірності:

  • P (c | x) = (P (x | c) * P (c)) / P (x)

Як працює алгоритм Naive Bayes?

Давайте розберемось як працює алгоритм наївних Байєсів на прикладі. Ми передбачаємо, що навчальний набір даних про погоду та цільову змінну "Їдемо по магазинах". Зараз ми класифікуємо, чи буде дівчина ходити по магазинах, виходячи з погодних умов.

Даний набір даних:

ПогодаЙти за покупками
СонячноНі
ДощовийТак
ПохмуроТак
СонячноТак
ПохмуроТак
ДощовийНі
СонячноТак
СонячноТак
ДощовийНі
ДощовийТак
ПохмуроТак
ДощовийНі
ПохмуроТак
СонячноНі

Виконуються наступні дії:

Крок 1: Створіть таблиці частот за допомогою наборів даних.

ПогодаТакНі
Сонячно32
Похмуро40
Дощовий23
Всього95

Крок 2: Складіть таблицю ймовірностей, обчисливши ймовірність кожної погоди та покупок.

ПогодаТакНіЙмовірність
Сонячно325/14 = 0, 36
Похмуро404/14 = 0, 29
Дощовий235/14 = 0, 36
Всього95
Ймовірність9/14 = 0, 645/14 = 0, 36

Крок 3: Тепер нам потрібно обчислити задню ймовірність за допомогою рівняння Naive Bayes для кожного класу.

Проблемний приклад: дівчина буде ходити по магазинах, якщо погода буде похмурою. Чи правильно це твердження?

Рішення:

  • P (Так | Похмуро) = (P (Похмуро | Так) * P (Так)) / P (Похмуро)
  • P (Похмуро | Так) = 4/9 = 0, 44
  • P (Так) = 9/14 = 0, 64
  • P (Похмуро) = 4/14 = 0, 39

Тепер покладіть всі обчислені значення у вищевказану формулу

  • P (Так | Похмуро) = (0, 44 * 0, 64) / 0, 39
  • P (Так | Похмуро) = 0, 722

Клас, що має найбільшу ймовірність, буде результатом прогнозування. Використовуючи однакові ймовірності підходу різних класів, можна передбачити.

Для чого використовується алгоритм Naive Bayes?

1. Прогнозування в режимі реального часу: Алгоритм наївних Байєсів швидкий і завжди готовий вивчити, тому найкраще підходить для прогнозування в реальному часі.

2. Багатокласне передбачення: ймовірність багатокласової будь-якої цільової змінної можна передбачити, використовуючи алгоритм Naive Bayes.

3. Система рекомендацій: класифікатор Naive Bayes за допомогою спільної фільтрації будує систему рекомендацій. Ця система використовує методи видобутку даних та методи машинного навчання для фільтрації інформації, яку раніше не бачили, а потім передбачення, чи оцінить користувач певний ресурс чи ні.

4. Класифікація тексту / Аналіз почуттів / Фільтрування спаму: Завдяки кращій роботі з проблемами у багатьох класах та правилом незалежності алгоритм Naive Bayes працює краще або має більш високий показник успішності в класифікації тексту, тому його використовують у аналізі натур і Фільтрація спаму.

Переваги алгоритму наївного Байєса

  • Легкий у виконанні.
  • Швидкий
  • Якщо припущення про незалежність має місце, то воно працює ефективніше, ніж інші алгоритми.
  • Це вимагає менше даних про навчання.
  • Це високо масштабований.
  • Це може зробити імовірнісні прогнози.
  • Може обробляти як безперервні, так і дискретні дані.
  • Нечутливий до неактуальних рис.
  • Він може легко працювати з відсутніми значеннями.
  • Легко оновити після надходження нових даних.
  • Найкраще підходить для проблем класифікації тексту.

Недоліки алгоритму наївного Байєса

  • Сильне припущення щодо можливостей бути незалежними, що навряд чи відповідає дійсним програмам.
  • Дефіцит даних.
  • Шанси втрати точності.
  • Нульова частота, тобто якщо категорія будь-якої категоріальної змінної не бачиться в наборі даних про тренування, тоді модель призначає нульову ймовірність цій категорії, і тоді прогнозування не може бути зроблено.

Як побудувати базову модель за допомогою алгоритму Naive Bayes

Існує три типи моделей Naive Bayes - Гауссова, Мультиноміальна та Бернуллі. Давайте коротко обговоримо кожен з них.

1. Гауссова: Алгоритм наївних баїв Гаусса передбачає, що неперервні значення, що відповідають кожній ознаці, розподіляються відповідно до розподілу Гаусса, що також називається нормальним розподілом.

Ймовірність або попередня ймовірність прогноктора даного класу вважається гауссовою, тому умовна ймовірність може бути обчислена як:

2. Мультиноміальне: Частоти виникнення певних подій, представлених функціональними векторами, генеруються за допомогою мультиноміального розподілу. Ця модель широко використовується для класифікації документів.

3. Бернуллі: У цій моделі входи описуються функціями, які є незалежними бінарними змінними або булевими. Це також широко використовується в класифікації документів, як багатоадмінний наївний байєс.

Ви можете використовувати будь-яку з перерахованих вище моделей відповідно до необхідності для обробки та класифікації набору даних.

Ви можете побудувати модель Гаусса за допомогою Python, зрозумівши приклад, наведений нижче:

Код:

from sklearn.naive_bayes import GaussianNB
import numpy as np
a = np.array((-2, 7), (1, 2), (1, 5), (2, 3), (1, -1), (-2, 0), (-4, 0), (-2, 2), (3, 7), (1, 1), (-4, 1), (-3, 7)))
b = np.array((3, 3, 3, 3, 4, 3, 4, 3, 3, 3, 4, 4, 4))
md = GaussianNB()
md.fit (a, b)
pd = md.predict (((1, 2), (3, 4)))
print (pd)

Вихід:

((3, 4))

Висновок

У цій статті ми детально вивчили поняття алгоритму наївних байєсів. В основному використовується в класифікації тексту. Це легко здійснити і швидко виконати. Основним його недоліком є ​​те, що він вимагає, щоб функції були незалежними, що не відповідає дійсним програмам.

Рекомендовані статті

Це було керівництвом до алгоритму наївних байєсів. Тут ми обговорили основні поняття, роботу, переваги та недоліки алгоритму наївних байєсів. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Підвищення алгоритму
  2. Алгоритм програмування
  3. Вступ до алгоритму

Категорія: