From: Vsevolod Stakhov Date: Sun, 30 Jun 2024 15:05:09 +0000 (+0100) Subject: [Minor] Log FP and FN X-Git-Tag: 3.9.0~13^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F5032%2Fhead;p=thirdparty%2Frspamd.git [Minor] Log FP and FN --- diff --git a/lualib/rspamadm/classifier_test.lua b/lualib/rspamadm/classifier_test.lua index 4e001bf17e..4148a75388 100644 --- a/lualib/rspamadm/classifier_test.lua +++ b/lualib/rspamadm/classifier_test.lua @@ -90,7 +90,7 @@ local function train_classifier(files, command) end -- Function to classify files and return results -local function classify_files(files) +local function classify_files(files, known_spam_files, known_ham_files) local fname = os.tmpname() list_to_file(files, fname) @@ -118,7 +118,13 @@ local function classify_files(files) if symbols[opts.spam_symbol] then table.insert(results, { result = "spam", file = file }) + if known_ham_files[file] then + rspamd_logger.message("FP: %s is classified as spam but is known ham", file) + end elseif symbols[opts.ham_symbol] then + if known_spam_files[file] then + rspamd_logger.message("FN: %s is classified as ham but is known spam", file) + end table.insert(results, { result = "ham", file = file }) end end @@ -216,7 +222,7 @@ local function handler(args) print(string.format("Start cross validation, %d messages, %d connections", #cv_files, opts.nconns)) -- Get classification results local t = rspamd_util.get_time() - local results = classify_files(cv_files) + local results = classify_files(cv_files, known_spam_files, known_ham_files) local elapsed = rspamd_util.get_time() - t -- Evaluate results