Это известный вопрос на собеседовании для каждого претендента на науку о данных. Итак, в этой статье мы обсудим преимущества и недостатки наивного байесовского классификатора.

Преимущества:

  1. Это просто и легко реализовать.
  2. Вычислительно быстрый и способный делать прогнозы в реальном времени.
  3. Высокая масштабируемость с любым количеством функций и точек данных.

Недостатки:

  1. Обрабатывает все функции независимо, что невозможно в реальной жизни. Например. в приведенной выше таблице влажность в дождливый день, скорее всего, будет высокой; но алгоритм придает одинаковое значение всем случаям [Высокий, Нормальный].
  2. Если функция состоит из меньшего количества записей и все они производят одинаковый результат, то другие функции не вносят значительного вклада. Например, в приведенной выше записи в столбце функций ПРОГНОЗ -> ПЕРЕГОРОДКА целевая переменная всегда имеет значение ДА. В этом случае, если мы проходим тестовый пример, такой как ["Облачно", "Умеренно", "Высоко", "Ложь"], вывод всегда будет "Да".

P(Играть в гольф / Да) = (4/9)*(4/9)*(3/9)*(6/9)*(9/14) = 0,02

P(играть в гольф/нет) = (0/5)*(2/5)*(4/5)*(2/5)*(5/14) = 0

Очевидно, по наблюдению мы можем сказать, что вывод зависит исключительно от функции Overcast. А также, если модель не видит никакой функции во время обучения и проходит при тестировании, то также предполагается, что она имеет нулевую вероятность. Это называется проблемой нулевой частоты. Чтобы преодолеть это, нам нужно использовать сглаживание Лапласа.

Чтобы получить больше информации об этом дефекте, прочитайте статью ниже.



3. Таким образом, One Hot Encoding нельзя использовать, как обсуждалось выше.

4. Наивный Байес прекрасно работает с категориальными функциями, но когда вы имеете дело с непрерывными значениями, вам нужно разделить данные на категории по:

i) Использование бункеров, например. Столбец непрерывного возраста можно разделить на возрастные группы 1–7,7–12,13–19,20–35,35–50,50–70,70-конец и т. д. Панды предоставляют функции cut() и qcut() для разделения на бины.



ii) Используйте вероятностную модель — например, нормальное распределение — для оценки условной вероятности.