]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Fix formula
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 16 Nov 2018 09:28:40 +0000 (09:28 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 16 Nov 2018 09:28:40 +0000 (09:28 +0000)
src/libstat/classifiers/bayes.c

index 2e710522bcd4d903ec09942266ba9923ea294d9a..5295e018b9d171f759c664eb47503343414acc8d 100644 (file)
@@ -344,22 +344,22 @@ bayes_classify (struct rspamd_classifier * ctx,
                return TRUE;
        }
 
-       if (cl.spam_prob < -300 && cl.ham_prob < -300) {
+       if (cl.spam_prob > -300 && cl.ham_prob > -300) {
                /* Fisher value is low enough to apply inv_chi_square */
                h = 1 - inv_chi_square (task, cl.spam_prob, cl.processed_tokens);
                s = 1 - inv_chi_square (task, cl.ham_prob, cl.processed_tokens);
        }
        else {
                /* Use naive method */
-               if (cl.spam_prob > cl.ham_prob) {
-                       s = (1.0 - exp(cl.spam_prob / cl.ham_prob)) /
-                                       (1.0 + exp(cl.spam_prob / cl.ham_prob));
-                       h = 1.0 - s;
+               if (cl.spam_prob < cl.ham_prob) {
+                       h = (1.0 - exp(cl.spam_prob - cl.ham_prob)) /
+                                       (1.0 + exp(cl.spam_prob - cl.ham_prob));
+                       s = 1.0 - h;
                }
                else {
-                       h = (1.0 - exp(cl.ham_prob / cl.spam_prob)) /
-                               (1.0 + exp(cl.ham_prob / cl.spam_prob));
-                       s = 1.0 - h;
+                       s = (1.0 - exp(cl.ham_prob - cl.spam_prob)) /
+                               (1.0 + exp(cl.ham_prob - cl.spam_prob));
+                       h = 1.0 - s;
                }
        }