# Is there no reason to ever use naive bayesian learning?

I found this slide in the university course on machine learning I am currently taking. The reasons seem sound but I have not found this confirmed anywhere everywhere I read that for certain types of data this is a very good choice. Is my professor wrong or the internet?

• Quit this course, it is spreading alternative truth. Commented Sep 14, 2023 at 3:42

There are many scenarios under which you want to use naive bayes.

Its easy and Fast: Naive Bayes is very simple to use and runs fast. Good when you need a quick answer and donot have a strong computer.

Good for Many Features: If you have data with many many things to look at, like words in text, Naive Bayes is a good choice. It handles many variables well.

Updates Easily: One good thing is you can add more data easily. No need to start from the beginning. Saves you time and work.

Works with Small Data: If you donot have much data, it still okay. Naive Bayes can work well with small amounts of data.

Easy to Understand: This model is not complicated. Easier to explain to other people who donot know machine learning.

Gives Probabilities: Not just does it give you the answer, but also tells how sure it is. Good for making decisions. Great to explain to business people and management.

Still Works: Yes, Naive Bayes makes strong assumptions about the data being independent. But even if not perfect, most times it works well. People say it is a "good bad model" because of this.

So, your professor has a point about Naive Bayes limitations, but it is not completely useless. It's the right tool sometimes.

While your professor maybe trying to drive home a different point, I think the answer is in Naive assumption in Bayes Classifier

You've probably heard about Bayes Theorem in conditional probability:

$$P(Y|X) = \frac {P(X|Y) P(Y)} {P(X)}$$

Which is just: Prob of Y given X = Prob. of X given Y Multiplied by Prob. of Y whole divided by Prob. of X

If you look at it from a Data Science perspective, Y is the dependent feature, you can't get Y from X directly (like future house prices given certain conditions) certainly not from your test data, but you can get X from Y using your training data (already listed House Prices with their conditions) and make your way to the target from there.

The above example showed the Bayesian equation for just one independent feature, but can you imagine the equation if there are 25 such features and all of them are related?! (house quality, location, no. of rooms, living and lot measure, etc.) This would be very difficult to calculate and cumbersome as well. The permutations and combinations alone are mind boggling.

Hence, we make the Naive assumption to save us from all this trouble, that the features are independent of each other. This would help us simplify our problem from an exponential to a linear one:

$$P(X_1, X_2, X_3 ... X_n | Y) = P(X_1|Y) P(X_2|Y) P(X_3|Y)... P(X_n |Y)$$

If you look closely, these are the advantages of using it:

• It handles high dimensionality of data very well. Increasing no. of features does not hinder our analysis.

• For a fairly small amount of data it performs better than more complex algorithms.

Bottom line:

• It's not ideal for regression problems or to calculate absolute probabilities, what it does best is perform great for a small amount of data with surprisingly good results.

Hence, in no way is the statement correct that: "there's no reason to ever use Naive Bayes".