Naive Bayes applies Bayes theorem with a conditional independence assumption between features, making it fast, simple, and surprisingly effective on text and small datasets.
Naive Bayes computes the posterior probability of each class given an input by multiplying the likelihoods of individual features under the assumption that they are conditionally independent. The class with the highest posterior probability is selected.
That independence assumption is almost never true in real text, which is why the model is called naive. Despite that, it performs well on spam detection, sentiment classification, and document categorization because those tasks tolerate approximate probabilities. Its biggest practical advantage is training speed and low data requirements.
Think of it like this. Think of a jury that decides guilt by weighing each piece of evidence separately and multiplying the probabilities, instead of modeling how the pieces of evidence interact. It is wrong in theory, but often right in practice.
Bayes theorem inverts the relationship between class and features using observed training data. The prior probability of each class is estimated from class frequencies. The likelihood of each feature value given a class is estimated from feature counts, often with smoothing to avoid zero probabilities. The model multiplies these together and picks the class with the highest score.
"Naive Bayes is outdated." It remains competitive on text classification and small data. "Independence means features are unrelated." It means conditional independence given the class, which is also violated but less harmful than absolute independence. "Smoothing is optional." Without smoothing, unseen feature values produce zero probabilities that break inference.
Extremely fast to train and predict, robust to irrelevant features, and works well with small datasets. Accuracy is limited by the independence assumption, which harms tasks where feature interactions carry most of the signal.