Sha256: d47aa309d7436b191abc4e133c84ba376315a7082ddbdf810bdedca35373cc1a

Contents?: true

Size: 521 Bytes

Versions: 10

Compression:

Stored size: 521 Bytes

Contents

module Zapata
  module Predictor
    class Chooser
      def initialize(possible_values)
        @possible_values = possible_values.dup
      end

      def by_probability
        return if @possible_values.empty?

        by_count
      end

      private

      def by_count
        group_with_counts(@possible_values).max_by { |_, v| v }.first
      end

      def group_with_counts(values)
        values.each_with_object(Hash.new(0)) do |value, obj|
          obj[value] += 1
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
zapata-0.1.6 lib/zapata/predictor/chooser.rb
zapata-0.1.5 lib/zapata/predictor/chooser.rb
zapata-0.1.4 lib/zapata/predictor/chooser.rb
zapata-0.1.3 lib/zapata/predictor/chooser.rb
zapata-0.1.2 lib/zapata/predictor/chooser.rb
zapata-0.1.1 lib/zapata/predictor/chooser.rb
zapata-0.1.0 lib/zapata/predictor/chooser.rb
zapata-0.0.3 lib/zapata/predictor/chooser.rb
zapata-0.0.2 lib/zapata/predictor/chooser.rb
zapata-0.0.1 lib/zapata/predictor/chooser.rb