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