CSCE 633 Project 4 - Naive Bayes due: Thurs, Apr 26, 2012 In this project, your objective is to implement the Naive Bayes (NB) algorithm (in any language you like), test it on at least 4 datasets from the UCI Machine Learning Repository, and compare it to your other classifiers (decision tree, neural net, and nearest neighbor). In NB, you make the assumption that attributes are independent (though this is not always true in practice, and may lead to underperformance on certain data sets). You will have to decide how to handle both continuous and discrete attributes at the same time. For continuous attributes, you might want to fit them with an Normal distribution. For discrete, you will want to tabulate the conditional probabilities of classes with individual attribute values. Remember that it might help to use m-estimates to avoid 0's in cases where data was not observed. On which databases does NB work well? On which does it perform poorly, any why? Be sure to use appropriate statistics to backup you claims and observations. Also, in this report, include a summary section that compares all of your algorithms together and draws some conclusions about which is best (if any) and why (give some interpretation). (Just a note: if you wanted to capture some *dependence* between variables, you could construct a Bayesian network with directed edges between variables that influence each other. Then you could use a learning algorithm to learn the parameters in the network (conditional probabilies on each edge). However, that is beyond the scope of this project.)