The Naive Bayesian classifier is based on Bayes’ theorem with independence assumptions between predictors. A Naive Bayesian model is easy to build, with no complicated iterative parameter estimation which makes it particularly useful for very large datasets. Despite its simplicity, the Naive Bayesian classifier often does surprisingly well and is widely used because it often outperforms more sophisticated classification methods. Source: http://www.saedsayad.com/naive_bayesian.htm
This implementation assumes the class we are trying to predict is binary and that there is only one binary, categorical, and continuous column (in that order) in the data.
To run this program:
python3.6 naive-bayes.py