1. Trening: dla każdej klasy C oblicz a priori P(C) jako częstość klasy w zbiorze treningowym. Dla każdej cechy x_i oblicz warunkowe prawdopodobieństwo P(x_i|C) z częstości (multinomial) lub parametrów rozkładu (Gaussian). 2. Wygładzanie Laplace'a: dodaj stałą α (domyślnie 1) do licznika, żeby uniknąć zerowych prawdopodobieństw dla niewidzianych cech. 3. Predykcja: dla nowego przykładu x zastosuj regułę MAP — wybierz klasę maksymalizującą P(C)·∏P(x_i|C). W praktyce liczymy log-sumy, żeby uniknąć underflow: log P(C) + Σ log P(x_i|C). 4. Warianty rozkładu: multinomial (zliczenia tokenów — NLP), Bernoulli (cechy binarne), Gaussian (cechy ciągłe — zakłada normalność).
Klasyfikacja obiektów do kategorii wymaga metody, która oszacuje prawdopodobieństwo przynależności do klasy na podstawie obserwowanych cech. Tradycyjne podejścia wymagały modelowania pełnego rozkładu łącznego cech — co jest obliczeniowo niewykonalne przy dużej liczbie wymiarów. Naive Bayes rozwiązuje ten problem przez założenie warunkowej niezależności cech, redukując złożoność estymacji z wykładniczej do liniowej.
Jeśli słowo z testu nie wystąpiło w treningu, P(słowo|klasa)=0 zeruje cały iloczyn prawdopodobieństw. Wymaga smoothing (Laplace/add-k) — bez niego klasyfikator jest bezużyteczny na nowych tekstach.
Słowa w zdaniu są silnie skorelowane ("nie" przed "dobry" zmienia semantykę). Naruszenie założenia niezależności degraduje kalibrację prawdopodobieństw — model może klasyfikować poprawnie, ale z błędnymi pewnościami.
W klasyfikacji tekstu (np. 20 Newsgroups, Reuters-21578) multinomial Naive Bayes osiąga zwykle 70–85% trafności, ustępując regresji logistycznej i SVM o kilka punktów procentowych przy dużych zbiorach danych. W filtrowaniu spamu historycznie osiągał >95% precyzji, co zapoczątkowało erę bayesowskich filtrów e-mail. Jako baseline w NLP nadal wykorzystywany w pracach naukowych.