summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-11-22 13:00:50 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-11-22 13:00:50 +0000
commitade230a994a585a451e1410bd6a606c5e583068e (patch)
tree8a3299b2ab8b210406c3acb9177b2f3ec2ebf6eb
parent2e2dde5a460cbf9d7f47c0c29fe01d097836b539 (diff)
downloadrspamd-ade230a994a585a451e1410bd6a606c5e583068e.tar.gz
rspamd-ade230a994a585a451e1410bd6a606c5e583068e.zip
[Fix] Filter incorrect training data
-rw-r--r--src/plugins/lua/fann_redis.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/lua/fann_redis.lua b/src/plugins/lua/fann_redis.lua
index 64d1bf142..aa4efd4c6 100644
--- a/src/plugins/lua/fann_redis.lua
+++ b/src/plugins/lua/fann_redis.lua
@@ -492,15 +492,19 @@ local function train_fann(_, ev_base, elt)
local inputs = {}
local outputs = {}
+ local n = rspamd_config:get_symbols_count() + rspamd_count_metatokens()
+ local filt = function(elts)
+ return #elts == n
+ end
+
fun.each(function(spam_sample, ham_sample)
table.insert(inputs, fun.totable(spam_sample))
table.insert(outputs, {1.0})
table.insert(inputs, fun.totable(ham_sample))
table.insert(outputs, {-1.0})
- end, fun.zip(spam_elts, ham_elts))
+ end, fun.zip(fun.filter(filt, spam_elts), fun.filter(filt, ham_elts)))
-- Now we can train fann
- local n = rspamd_config:get_symbols_count() + rspamd_count_metatokens()
if not fanns[elt] or not fanns[elt].fann_train
or n ~= fanns[elt].fann_train:get_inputs() then
-- Create fann if it does not exist