SpamBayes is a
Bayesian
Thomas Bayes (/beɪz/; c. 1701 – 1761) was an English statistician, philosopher, and Presbyterian minister.
Bayesian () refers either to a range of concepts and approaches that relate to statistical methods based on Bayes' theorem, or a followe ...
spam filter
Email filtering is the processing of email to organize it according to specified criteria. The term can apply to the intervention of human intelligence, but most often refers to the automatic processing of messages at an SMTP server, possibly appl ...
written in
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
which uses techniques laid out by
Paul Graham in his essay "A Plan for Spam". It has subsequently been improved by
Gary Robinson and
Tim Peters, among others.
The most notable difference between a conventional Bayesian filter and the filter used by SpamBayes is that there are three classifications rather than two: spam, non-spam (called ''ham'' in SpamBayes), and unsure. The user trains a message as being either ham or spam; when filtering a message, the spam filters generate one score for ham and another for spam.
If the spam score is high and the ham score is low, the message will be classified as spam.
If the spam score is low and the ham score is high, the message will be classified as ham.
If the scores are both high or both low, the message will be classified as unsure.
This approach leads to a low number of
false positive
A false positive is an error in binary classification in which a test result incorrectly indicates the presence of a condition (such as a disease when the disease is not present), while a false negative is the opposite error, where the test resul ...
s and
false negative
A false positive is an error in binary classification in which a test result incorrectly indicates the presence of a condition (such as a disease when the disease is not present), while a false negative is the opposite error, where the test resul ...
s, but it may result in a number of unsures which need a human decision.
Web filtering
Some work has gone into applying SpamBayes to
filter internet content via a
proxy web server.
References
External links
* {{official website, http://spambayes.sourceforge.net/
Paul Graham's original ideaPaper on SpamBayes for the Conference on E-mail and Anti-SpamWinning the War on spam: Comparison of Bayesian spam filters
Spam filtering
Anti-spam
Email
Free software programmed in Python