In SpamAssassin, the scores are assigned using a neural network trained with error back propagation (Perceptron). Both systems attempt to optimise the efficiency of the rules that are run in terms of minimizing the number of false positives and false negatives. A list of the rules and their assigned scores is at SpamAssassin tests page.
Scores for "learn" rules, such as BAYES_*, that rate the probability that a message is spam, are scored using the same method. This can produce "confusing" scores, for instance, that have BAYES_80 with a higher score than BAYES_99. There are a few reasons for this. 1) The score generation system does not understand that BAYES_* are related to one another, they're separate rules that need separate scores. 2) More importantly, the higher the probability from a "learn" rule, the higher likelihood that the message also hit a bunch of other rules. This lets the score generation system lower the "learn" rule score due to the inevitable false positive, while also still marking the message as spam via the sum of all rule scores.
Powered by WHMCompleteSolution