class Zapata::Predictor::Chooser

Public Class Methods

new(possible_values) click to toggle source
# File lib/zapata/predictor/chooser.rb, line 6
def initialize(possible_values)
  @possible_values = possible_values.dup
end

Public Instance Methods

by_probability() click to toggle source
# File lib/zapata/predictor/chooser.rb, line 10
def by_probability
  return if @possible_values.empty?

  by_count
end

Private Instance Methods

by_count() click to toggle source
# File lib/zapata/predictor/chooser.rb, line 18
def by_count
  group_with_counts(@possible_values).max_by { |_, v| v }.first
end
group_with_counts(values) click to toggle source
# File lib/zapata/predictor/chooser.rb, line 22
def group_with_counts(values)
  values.each_with_object(Hash.new(0)) do |value, obj|
    obj[value] += 1
  end
end