• Stars
    star
    110
  • Rank 315,596 (Top 7 %)
  • Language
    C++
  • License
    Other
  • Created over 15 years ago
  • Updated over 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ruby interface to LIBSVM (using SWIG)

libsvm-ruby-swig

DESCRIPTION:

This is the Ruby port of the LIBSVM Python SWIG (Simplified Wrapper and Interface Generator) interface.

A slightly modified version of LIBSVM 2.9 is included, it allows turrning on/off the debug log. You don’t need your own copy of SWIG to use this library - all needed files are generated using SWIG already.

Look for the README file in the ruby subdirectory for instructions. The binaries included were built under Ubuntu Linux 2.6.28-18-generic x86_64, you should run make under the libsvm-2.9 and libsvm-2.9/ruby directories to regenerate the executables for your environment.

LIBSVM is in use at tweetsentiments.com - A Twitter / Tweet sentiment analysis application

INSTALL:

Currently the gem is available on linux only(tested on Ubuntu 8-9 and Fedora 9-12, and on OS X by danielsdeleo), and you will need g++ installed to compile the native code.

sudo gem sources -a http://gems.github.com   (you only have to do this once)
sudo gem install tomz-libsvm-ruby-swig

SYNOPSIS:

Quick Interactive Tutorial using irb (adopted from the python code from Toby Segaran’s “Programming Collective Intelligence” book):

irb(main):001:0> require 'svm'
=> true
irb(main):002:0> prob = Problem.new([1,-1],[[1,0,1],[-1,0,-1]])
irb(main):003:0> param = Parameter.new(:kernel_type => LINEAR, :C => 10)
irb(main):004:0> m = Model.new(prob,param)
irb(main):005:0> m.predict([1,1,1])
=> 1.0
irb(main):006:0> m.predict([0,0,1])
=> 1.0
irb(main):007:0> m.predict([0,0,-1])
=> -1.0
irb(main):008:0> m.save("test.model")
irb(main):009:0> m2 = Model.new("test.model")
irb(main):010:0> m2.predict([0,0,-1])
=> -1.0

AUTHOR:

Tom Zeng