All Projects → febeling → Rb Libsvm

febeling / Rb Libsvm

Licence: other
Ruby language bindings for LIBSVM

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Rb Libsvm

DMIA ProductionML 2021 Spring
Репозиторий направления Production ML, весна 2021
Stars: ✭ 42 (-84.89%)
Mutual labels:  ml
DSPKM
This is the page for the book Digital Signal Processing with Kernel Methods.
Stars: ✭ 32 (-88.49%)
Mutual labels:  svm
Polyaxon
Machine Learning Platform for Kubernetes (MLOps tools for experimentation and automation)
Stars: ✭ 2,966 (+966.91%)
Mutual labels:  ml
support-tickets-classification
This case study shows how to create a model for text analysis and classification and deploy it as a web service in Azure cloud in order to automatically classify support tickets. This project is a proof of concept made by Microsoft (Commercial Software Engineering team) in collaboration with Endava http://endava.com/en
Stars: ✭ 142 (-48.92%)
Mutual labels:  ml
parallax
A Tool for Automatic Parallelization of Deep Learning Training in Distributed Multi-GPU Environments.
Stars: ✭ 128 (-53.96%)
Mutual labels:  ml
Pedestrian detection
通过HOG+SVM训练进行行人检测,行人数据库使用INRIAPerson,程序基于OpenCV实现
Stars: ✭ 253 (-8.99%)
Mutual labels:  svm
tensorflow-labsheets
Lab worksheets for the Applied Deep Learning Course.
Stars: ✭ 17 (-93.88%)
Mutual labels:  ml
Awesome Mlops
😎 A curated list of awesome MLOps tools
Stars: ✭ 258 (-7.19%)
Mutual labels:  ml
ML-Coursera
This repository contains all the programming exercises in Python for the Coursera course called "Machine Learning" by Adjunct Professor Andrew Ng at Stanford University.
Stars: ✭ 66 (-76.26%)
Mutual labels:  svm
Hub
A library for transfer learning by reusing parts of TensorFlow models.
Stars: ✭ 3,007 (+981.65%)
Mutual labels:  ml
Final-Year-Project
8th sem Final year Project of VTU
Stars: ✭ 53 (-80.94%)
Mutual labels:  ml
osqp
The Operator Splitting QP Solver
Stars: ✭ 929 (+234.17%)
Mutual labels:  svm
Atlas
An Open Source, Self-Hosted Platform For Applied Deep Learning Development
Stars: ✭ 259 (-6.83%)
Mutual labels:  ml
EmbeddedML
EmbeddedML was created to be an alternative to the limited options available for Artificial Neural Networks in C. It is designed to be efficient without sacrificing ease of use. It is meant to support students as well as industry experts as it is built to be expandable and straightforward to manipulate.
Stars: ✭ 24 (-91.37%)
Mutual labels:  ml
Hub
Dataset format for AI. Build, manage, & visualize datasets for deep learning. Stream data real-time to PyTorch/TensorFlow & version-control it. https://activeloop.ai
Stars: ✭ 4,003 (+1339.93%)
Mutual labels:  ml
AI-Principles
Alpha principles for the ethical use of AI and Data Driven Technologies in Ontario | Proposition de principes pour une utilisation éthique des technologies axées sur les données en Ontario
Stars: ✭ 22 (-92.09%)
Mutual labels:  ml
Stock Analysis
Regression, Scrapers, and Visualization
Stars: ✭ 255 (-8.27%)
Mutual labels:  svm
Nimbusml
Python machine learning package providing simple interoperability between ML.NET and scikit-learn components.
Stars: ✭ 265 (-4.68%)
Mutual labels:  ml
Python
Python bindings for BigML.io
Stars: ✭ 264 (-5.04%)
Mutual labels:  ml
Sk Dist
Distributed scikit-learn meta-estimators in PySpark
Stars: ✭ 260 (-6.47%)
Mutual labels:  ml

rb-libsvm -- Ruby language bindings for LIBSVM

Gem Version Build Status

This package provides Ruby bindings to the LIBSVM 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 the book "Programming Collective Intelligence," among others, for a usage example.

There is a JRuby implementation of this gem named jrb-libsvm by Andreas Eger.

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

LIBSVM includes a number of command line tools for preprocessing training data and finding parameters. These tools are not included in this gem. You should install the original package if you need them.

It is helpful to consult the README of the LIBSVM package for reference when configuring the training parameters.

Currently this package includes libsvm version 3.24.

Dependencies

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

Installation

For building this gem from source on OS X (which is the default packaging) you will need to have Xcode installed, and from within Xcode you need to install the command line tools. Those contain the compiler which is necessary for the native code, and similar tools.

To install the gem run this command

gem install rb-libsvm

Usage

This is a short example of how to use the gem.

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

If you want to rely on Bundler for loading dependencies in a project, (i.e. use Bundler.require or use an environment that relies on it, like Rails), then you will need to specify rb-libsvm in the Gemfile like this:

gem 'rb-libsvm', require: 'libsvm'

This is because the loadable name (libsvm) is different from the gem's name (rb-libsvm).

Release

The process to make a release of the gem package to rubygems.org has a number of steps.

  • manually change the version in lib/libsvm/version.rb
  • clean, build, and run tests successfully
  • update code and documentation
  • push
  • sign into https://rubygems.org/
  • save API token from https://rubygems.org/profile/edit and store in .gem/credentials by running gem signin
  • perform actual release: bundle exec rake release

Author

Written by C. Florian Ebeling.

Contributors

License

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.

Posts about using SVMs with Ruby

https://www.practicalai.io/implementing-classification-using-a-svm-in-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/

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].