diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-11-22 13:00:50 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-11-22 13:00:50 +0000 |
commit | ade230a994a585a451e1410bd6a606c5e583068e (patch) | |
tree | 8a3299b2ab8b210406c3acb9177b2f3ec2ebf6eb | |
parent | 2e2dde5a460cbf9d7f47c0c29fe01d097836b539 (diff) | |
download | rspamd-ade230a994a585a451e1410bd6a606c5e583068e.tar.gz rspamd-ade230a994a585a451e1410bd6a606c5e583068e.zip |
[Fix] Filter incorrect training data
-rw-r--r-- | src/plugins/lua/fann_redis.lua | 8 |
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 |