Class: MovingAvg::Evaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/moving_avg/evaluator.rb

Class Method Summary collapse

Class Method Details

.error_sum(training_items:, teacher_items:, window_size:, strategy:) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/moving_avg/evaluator.rb', line 4

def error_sum(training_items:, teacher_items:, window_size:, strategy:)
  errors = self.errors(
    training_items: training_items,
    teacher_items: teacher_items,
    window_size: window_size,
    strategy: strategy,
  )
  errors.
    select { |x| !x.nan? }.
    reduce(0) { |x, y| x + y }
end

.errors(training_items:, teacher_items:, window_size:, strategy:) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/moving_avg/evaluator.rb', line 16

def errors(training_items:, teacher_items:, window_size:, strategy:)
  trained = MovingAvg::Helper.build_with_sliding(
    items: training_items,
    window_size: window_size,
    strategy: strategy,
  )
  trained.zip(teacher_items).map { |trained, teacher|
    (trained - teacher).abs
  }
end