class NaiveBayes::Backend::Memory

Attributes

categories[RW]
categories_count[RW]
tokens_count[RW]

Public Class Methods

new(categories) click to toggle source
# File lib/nb/backend/memory.rb, line 6
def initialize(categories)
  @categories = categories

  clear!
end

Public Instance Methods

clear!() click to toggle source
# File lib/nb/backend/memory.rb, line 12
def clear!
  @tokens_count = {}
  @categories_count = {}

  @categories.each do |category|
    @tokens_count[category] = Hash.new(0)
    @categories_count[category] = 0
  end
end
train(category, *tokens) click to toggle source
# File lib/nb/backend/memory.rb, line 22
def train(category, *tokens)
  tokens.uniq.each do |token|
    @tokens_count[category][token] += 1
  end

  @categories_count[category] += 1
end
untrain(category, *tokens) click to toggle source
# File lib/nb/backend/memory.rb, line 30
def untrain(category, *tokens)
  tokens.uniq.each do |token|
    @tokens_count[category][token] -= 1
  end

  @categories_count[category] -= 1
end