##### WITH NEW RULES AND SCORES #####

# SUMMARY for threshold 5.0:
# Correctly non-spam: 268119  32.071%  (99.444% of non-spam corpus)
# Correctly spam:     425350  50.878%  (75.096% of spam corpus)
# False positives:      1500  0.179%  (0.556% of nonspam,  95953 weighted)
# False negatives:    141056  16.872%  (24.904% of spam, 310238 weighted)
# Average score for spam:  9.8    nonspam: 0.7
# Average for false-pos:   6.1  false-neg: 2.2
# TOTAL:              836025  100.00%

Reading scores from "tmprules"...
Reading per-message hit stat logs and scores...

# SUMMARY for threshold 5.0:
# Correctly non-spam:  33527  99.46%
# Correctly spam:      52803  74.67%
# False positives:       182  0.54%
# False negatives:     17908  25.33%
# TCR(l=50): 2.618150  SpamRecall: 74.674%  SpamPrec: 99.657%

##### WITHOUT NEW RULES AND SCORES #####
Reading scores from "../rules-base"...
Reading per-message hit stat logs and scores...

# SUMMARY for threshold 5.0:
# Correctly non-spam: 259718  96.33%
# Correctly spam:     264443  46.69%
# False positives:      9901  3.67%
# False negatives:    301963  53.31%
# TCR(l=50): 0.710661  SpamRecall: 46.688%  SpamPrec: 96.391%
Reading scores from "../rules-base"...
Reading per-message hit stat logs and scores...

# SUMMARY for threshold 5.0:
# Correctly non-spam:  32471  96.33%
# Correctly spam:      32943  46.59%
# False positives:      1238  3.67%
# False negatives:     37768  53.41%
# TCR(l=50): 0.709465  SpamRecall: 46.588%  SpamPrec: 96.378%
