summaryrefslogtreecommitdiff
path: root/perceptron-new-test.rb
blob: 6566f682123fd944ed15d2421c6af0206092a391 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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"