Question

I was wondering if there is any good and clean object-oriented programming (OOP) implementation of Bayesian filtering for spam and text classification? This is just for learning purposes.

Was it helpful?

Solution

I definitely recommend Weka which is an Open Source Data Mining Software written in Java:

Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code. Weka contains tools for data pre-processing, classification, regression, clustering, association rules, and visualization. It is also well-suited for developing new machine learning schemes.

As mentioned above, it ships with a bunch of different classifiers like SVM, Winnow, C4.5, Naive Bayes (of course) and many more (see the API doc). Note that a lot of classifiers are known to have much better perfomance than Naive Bayes in the field of spam detection or text classification.

Furthermore Weka brings you a very powerful GUI

OTHER TIPS

Check out Chapter 6 of Programming Collective Intelligence

Here is an implementation of Bayesian filtering in C#: A Naive Bayesian Spam Filter for C# (hosted on CodeProject).

nBayes - another C# implementation hosted on CodePlex

In French, but you should be able to find the download link :) PHP Naive Bayesian Filter

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top