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")
|