I'm reading an old book called "Data Mining Practical Machine Learning and Techniques"; It uses a tool called Weka to automate examples as well, but I'd prefer to use Python to do so.

I'm quite new to Machine Learning, and I'm just trying to line up examples with a computer API; I'm not certain of the type of Naive Bayes being used in the example (which I implemented in a spreadsheet from the book). From the look of it, based on other examples in the book, it doesn't look to be multinomial-bayes, but I don't seem to be able to find an API that lines up with it either.

The example tries to determine if a sports team will go outside and play or not (yes, no) based on the Outlook (sunny, overcast, rainy), Temperature Classification (hot, mild, cold), Humidity Classification (high, normal) and if it is Windy or not (TRUE, FALSE).

The values are INPUT from data rows in the Weather Data Table 1.2 on page 11.

The processing of the INPUT begins and then in Table 4.2 The weather data with counts and probabilities they tally up probabilities and totals based on possible attribute values and totals.

They then add a new day row to the input and process which does not have a Will the team play value, but which does have all the other attributes with a single value for each. The likelyhood is calculated for yes and no, and then in the Output a probability value for yes and a value for no are calculated.

I've included the spreadsheet here.

I realize this is really basic Machine Learning, but I just wondered if anyone could point me towards a python library or python algorithm that would handle such a problem...I've actually also tried to get it to work in Weka, and run into a similar issue in which I appear to be able to find a Naive Bayes algorithm without churning out the correct result presented in the book and in my spreadsheet.

So does this particular Naive Bayes method have a name and equivalent API?


1 Answer 1


A basic Naive Bayes is being used in this example. Each feature can have a number of different values within the ranges of 2 or 3.

Bernoulli Naive Bayes requires that each feature be either true or false or 0 or 1.

Multinomial Naive Bayes allows features to be of values 0+ as it is counting occurrences of features.

Hope this helps. The Naive Bayes wikipedia pages summarizes this pretty well as well.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.