The examples selected in this chapter do not do justice to the versatility and accuracy of the Naïve Bayes family of classifiers.
The Naïve Bayes algorithm is a simple and robust generative classifier that relies on prior conditional probabilities to extract a model from a training dataset. The Naïve Bayes model has its benefits, as mentioned here:
It is easy to implement and parallelize
It has a very low computational complexity: O((n+c)*m), where m is the number of features, C is the number of classes, and n is the number of observations
It handles missing data
It supports incremental updates, insertions, and deletions
However, Naïve Bayes is not a silver bullet. It has the following disadvantages:
It requires a large training set to achieve reasonable accuracy
The assumption of the independence of features is not practical in the real world
It requires dealing with the zero-frequency problem for counters