File: test.rb

package info (click to toggle)
tinysvm 0.09%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 1,596 kB
  • sloc: sh: 8,762; cpp: 2,401; ansic: 1,096; makefile: 219; python: 42; java: 37; perl: 36; ruby: 33
file content (48 lines) | stat: -rwxr-xr-x 1,004 bytes parent folder | download
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/ruby

require 'TinySVM'

ex = TinySVM::Example.new()
ex.read("../tests/train.svmdata")
model = ex.learn()

print "Trnum=", model.getTrainingDataSize(), "\n";
print "SV=", model.getSVnum(), "\n"
print "BSV=", model.getBSVnum(), "\n"
print "VC=", model.estimateVC(), "\n"
print "Margin=", model.estimateMargin(), "\n"
print "Sphere=", model.estimateSphere(), "\n"
print "Loss=", model.getLoss(), "\n"

i = 0
while i < 1000 do
  print "Y[",i,"]=", model.getY(i), " X[",i,"]=", model.getX(i),"\n"
  i = i + 1
end

print "\n";
model.remove(0)
i = 0
while i < 1000 do
  print "Y[",i,"]=", model.getY(i), " X[",i,"]=", model.getX(i),"\n"
  i = i + 1
end

model.write("model")

print model.classify("1:1 2:1 5:1 100:1") , "\n"
print model.classify("10:1 20:1 50:1 100:1") , "\n"

model2 = TinySVM::Model.new()
model2.read("model")
print model2.classify("1:1 2:1 5:1 100:1") , "\n"
print model2.classify("10:1 20:1 50:1 100:1") , "\n"

model3 = ex.learn()
model3.compress()
model3.write("model3")