def purge_less_than(x)
      remove_list = {}
      @vocab.each do |token|
        if data.purge_less_than(token, x)
          # print "removing #{token}\n"
          remove_list[token] = 1
        end
      end  # each vocab word
      remove_list.keys.each {|token| @vocab.delete(token) }
      # print "total vocab size is now #{vocab.size}\n"
    end
def purge_less_than(x)
      remove_list = {}
      @vocab.each do |token|
        if data.purge_less_than(token, x)
          # print "removing #{token}\n"
          remove_list[token] = 1
        end
      end  # each vocab word
      remove_list.keys.each {|token| @vocab.delete(token) }
      # print "total vocab size is now #{vocab.size}\n"
    end
Allows removal of low frequency words that increase processing time and may overfit
 - tokens with a count less than x (measured by summing across all classes) are removed
 Ex: nb.purge_less_than(2)

 NOTE: this does not decrement the "examples" count, so purging is not *always* the same
 as if the item was never added in the first place, but usually so