In this lesson we use
MultinomialNB class to implement a naive Bayes classifier. What is multinomial naive Bayes? Why isn’t the class simply called
The word multinomial in
MultinomialNB refers to the probability distribution underlying our application. To be more explicit, remember that we must have an idea of how the probabilities for our application are computed (whether everything is equally likely, a uniform distribution, or our data is normally distributed, or something else).
Naive Bayes does not tell us how to choose this underlying distribution; it provides us with an equation to use once we have worked out how to compute the probabilities. So naive Bayes is a very general term and we could use different classes based on the different distributions we decide are appropriate for our application. For example,
sklearn.naive_bayes provides the following variants of naive Bayes, where the difference is in the underlying probability distribution
This is why we don’t simply call the class
NaiveBayes – the underlying distribution is important.