Assuming I'm dealing with binary classification.
For what kind of data Naive bayes using expectation maximization would give a better solution and for what kind of data logistic regression would be the better choice?
-
$\begingroup$ Can you please elaborate on what is EM and what does you data looks like. $\endgroup$– Devashish PrasadCommented May 29, 2021 at 5:05
-
$\begingroup$ @DevashishPrasad en.wikipedia.org/wiki/… I'm asking a general question about choosing the right algorithm $\endgroup$– LiloCommented May 29, 2021 at 9:56
-
1$\begingroup$ Welcome to DataScienceSE. Normally there is no estimation of any hidden variable in binary classification, so EM is not appropriate. Maybe you have a confusion: EM is commonly used in a bayesian context but that's not the same as Naive Bayes. NB is just a simple bayesian classification algorithm. $\endgroup$– ErwanCommented May 29, 2021 at 10:29
1 Answer
On a very high level -
Naive Bayes is a probabilistic model based on Bayes theorem and it is scale-invariant. That means scaling and normalizing the data won't affect your model's performance. It is a batch learning algorithm which means model parameters are directly computed without searching using methods like gradient descent. There is no need of iterating over data again and again.
Logistic Regression is also a probabilistic model based on sigmoid activation. Model parameters are not computed directly but searched using techniques like gradient descent over feature space. This means scaling and normalizing the data will affect your model's performance. You need to iterate on the data many times.
A good explanation can be found here - https://dataespresso.com/en/2017/10/24/comparison-between-naive-bayes-and-logistic-regression/
Choosing between models depends on your dataset and techniques like cross-validation will let you know which model should be chosen.