From 2e983112813c41b40800aee1ce9d0a083763f224 Mon Sep 17 00:00:00 2001 From: Patrick Simianer Date: Wed, 25 Mar 2015 09:32:22 +0100 Subject: rewrote perceptron --- perceptron-new-test.rb | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 perceptron-new-test.rb (limited to 'perceptron-new-test.rb') diff --git a/perceptron-new-test.rb b/perceptron-new-test.rb new file mode 100755 index 0000000..6566f68 --- /dev/null +++ b/perceptron-new-test.rb @@ -0,0 +1,30 @@ +#!/usr/bin/env ruby + +require 'zipf' + +STDERR.write "reading test data...\n" +test = [] +test_f = ReadFile.new ARGV[0] +n = 0 +while i = test_f.gets + test << SparseVector.from_kv(i.strip, '=', ' ') + n += 1 + STDERR.write "#{n}\n" if n%1000==0 +end +STDERR.write " test set size = #{test.size}\n" + +errors = 0 +w = SparseVector.from_kv ReadFile.new(ARGV[1]).read, "\t", "\n" + +test.each { |x| + m = w.dot(x) + if m <= 0.0 + errors += 1 + puts -1 + else + puts 1 + end +} + +STDERR.write "accuracy = #{(test.size-errors)/test.size.to_f}\n" + -- cgit v1.2.3