Skip to content

laboon/rb-libsvm

 
 

Repository files navigation

rb-libsvm -- Ruby language bindings for LIBSVM

Spec Status: Build Status

This package provides a Ruby bindings to the LIBSVM 1 library. SVM is a machine learning and classification algorithm, and LIBSVM is a popular free implementation of it, written by Chih-Chung Chang and Chih-Jen Lin, of National Taiwan University, Taipei. See "Programming Collective Intelligence," 2 among others, for a usage example.

Note: There exist two other Ruby bindings for LIBSVM. One is named Ruby SVM, written by Rudi Cilibrasi. It is hard to find now. The other, more actively developed one is libsvm-ruby-swig by Tom Zeng 3, which is built using SWIG.

Dependencies

None. Libsvm is bundled with the project. Just install and go!

Currently includes libsvm version 3.12.

Installation

gem install rb-libsvm

Usage

require 'libsvm'

# This library is namespaced.
problem = Libsvm::Problem.new
parameter = Libsvm::SvmParameter.new

parameter.cache_size = 1 # in megabytes

parameter.eps = 0.001
parameter.c = 10

examples = [ [1,0,1], [-1,0,-1] ].map {|ary| Libsvm::Node.features(ary) }
labels = [1, -1]

problem.set_examples(labels, examples)

model = Libsvm::Model.train(problem, parameter)

pred = model.predict(Libsvm::Node.features(1, 1, 1))
puts "Example [1, 1, 1] - Predicted #{pred}"

Author, License

Written by C. Florian Ebeling. This software can be freely used under the terms of the MIT license, see file MIT-LICENSE.

This package includes the source of LIBSVM, which is free to use under the license in the file LIBSVM-LICENSE.

Contributors

Rimas Silkaitis

Aleksander Pohl

Posts about SVMs and Ruby

http://neovintage.blogspot.com/2011/11/text-classification-using-support.html

http://www.igvita.com/2008/01/07/support-vector-machines-svm-in-ruby/

About

Ruby language bindings for LIBSVM

Resources

License

BSD-3-Clause, MIT licenses found

Licenses found

BSD-3-Clause
LIBSVM-LICENSE
MIT
MIT-LICENSE

Stars

Watchers

Forks

Packages

No packages published