summaryrefslogtreecommitdiffstats
path: root/src/libstat/classifiers
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-02-18 15:06:41 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-02-18 15:06:41 +0000
commitddec997069bbdb56fa1438c07a211cd66b4a79c8 (patch)
treed9bcf1e6698a3fab085f12a512a70d9e84faf7f7 /src/libstat/classifiers
parentfbf727498eefbe38d6d439b1b315f290e58aa051 (diff)
downloadrspamd-ddec997069bbdb56fa1438c07a211cd66b4a79c8.tar.gz
rspamd-ddec997069bbdb56fa1438c07a211cd66b4a79c8.zip
Implement statistics relearning.
Diffstat (limited to 'src/libstat/classifiers')
-rw-r--r--src/libstat/classifiers/bayes.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libstat/classifiers/bayes.c b/src/libstat/classifiers/bayes.c
index be6c6f545..7932ceb9e 100644
--- a/src/libstat/classifiers/bayes.c
+++ b/src/libstat/classifiers/bayes.c
@@ -221,6 +221,10 @@ bayes_learn_spam_callback (gpointer key, gpointer value, gpointer data)
if (res->st_runtime->st->is_spam) {
res->value ++;
}
+ else if (res->value > 0) {
+ /* Unlearning */
+ res->value --;
+ }
}
return FALSE;
@@ -241,6 +245,9 @@ bayes_learn_ham_callback (gpointer key, gpointer value, gpointer data)
if (!res->st_runtime->st->is_spam) {
res->value ++;
}
+ else if (res->value > 0) {
+ res->value --;
+ }
}
return FALSE;