https://mixrolikus.cc/video/TLInuAorxqE/how-to-implement-naive-bayes-from-scratch-with-python