Class: Phronomy::Eval::Comparison
- Inherits:
-
Object
- Object
- Phronomy::Eval::Comparison
- Defined in:
- lib/phronomy/eval/comparison.rb
Overview
Runs the same Dataset against two callables (configuration A and B) and packages the paired results for side-by-side comparison.
Defined Under Namespace
Classes: ComparisonPair
Instance Method Summary collapse
-
#compare(dataset, callable_a, callable_b) ⇒ Array<ComparisonPair>
Evaluates both callables on every case in the dataset.
-
#initialize(scorer: Scorer::ExactMatch.new) ⇒ Comparison
constructor
A new instance of Comparison.
Constructor Details
#initialize(scorer: Scorer::ExactMatch.new) ⇒ Comparison
Returns a new instance of Comparison.
22 23 24 |
# File 'lib/phronomy/eval/comparison.rb', line 22 def initialize(scorer: Scorer::ExactMatch.new) @scorer = scorer end |
Instance Method Details
#compare(dataset, callable_a, callable_b) ⇒ Array<ComparisonPair>
Evaluates both callables on every case in the dataset.
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/phronomy/eval/comparison.rb', line 32 def compare(dataset, callable_a, callable_b) runner_a = Runner.new(scorer: @scorer) runner_b = Runner.new(scorer: @scorer) results_a = runner_a.run(dataset, callable_a) results_b = runner_b.run(dataset, callable_b) results_a.zip(results_b).map do |a, b| ComparisonPair.new(eval_case: a.eval_case, result_a: a, result_b: b) end end |