Simple Naive Bayes classifier
Ruby
Latest commit e9e48bc Jan 30, 2012 @reddavis Merge pull request #1 from GCorbel/master
Add the untrain function
Permalink
Failed to load latest commit information.
lib add possibilty to untrain the system Jan 29, 2012
spec add possibilty to untrain the system Jan 29, 2012
.document Initial commit to naive_bayes. Nov 14, 2009
.gitignore fix specs Jan 5, 2010
LICENSE
README.rdoc update readme Mar 11, 2010
Rakefile mmm Nov 14, 2009
VERSION Version bump to 0.0.3 Mar 11, 2010
naive_bayes.gemspec Regenerated gemspec for version 0.0.3 Mar 11, 2010

README.rdoc

Naive Bayes Classifier

This is an extremely simple, straight forward Naive Bayes implementation.

Install

gem sources -a -http://gemcutter.org
sudo gem install naive_bayes

How To Use

require 'rubygems'
require 'naive_bayes'

a = NaiveBayes.new(:spam, :ham)

a.train(:spam, 'bad', 'word')
a.train(:ham, 'good', 'word')

b = "this is a bad sentence".split(' ')

a.classify(*b)
  #=> [:spam, 0.03125]

You can also tell your classifier to save itself, so its easy for you to pick up where you left off:

require 'rubygems'
require 'naive_bayes'

a = NaiveBayes.new(:spam, :ham)
a.db_filepath = 'path/to/anywhere.nb'

a.train(:spam, 'bad', 'word')
a.train(:ham, 'good', 'word')

a.save

Some time goes past and we want to classify a new document we just received…

require 'rubygems'
require 'naive_bayes'

a = NaiveBayes.load('path/to/file') 

b = "this is a bad sentence".split(' ')

# It's as if we were never apart
a.classify(*b)
  #=> [:spam, 0.03125]

Copyright

Copyright © 2009 Red Davis. See LICENSE for details.