The Naive Bayes classification algorithm takes a training data set with known discrete outcomes and either discrete or continuous input variables and generates a model that can be used to predict the outcome of future observations based on their input variable values.
The Naïve Bayes model is based on Bayes' Theorem, a classical law stating that the probability of observing an outcome, given the data, is proportional to the probability of observing the data, given the outcome, times the prior probability of the outcome. The model also assumes that, given the outcome, the input variables are independent of each other. Although this assumption is not precisely true for most real-world data sets, Naïve Bayes models are useful in many situations.