Module: Newral::ErrorCalculation

Defined in:
lib/newral/error_calculation.rb

Defined Under Namespace

Classes: DimensionsNotMatching

Class Method Summary collapse

Class Method Details

.mean_square(results, expected) ⇒ Object



21
22
23
24
# File 'lib/newral/error_calculation.rb', line 21

def self.mean_square( results, expected )
  sum = sum_of_squares( results, expected )
  sum.to_f/results.size
end

.root_mean_square(results, expected) ⇒ Object



16
17
18
19
# File 'lib/newral/error_calculation.rb', line 16

def self.root_mean_square( results, expected )
  sum = sum_of_squares( results, expected )
  (sum.to_f/results.size)**0.5
end

.sum_of_squares(results, expected) ⇒ Object



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

def self.sum_of_squares( results, expected )
  sum = 0
  raise DimensionsNotMatching, "results: #{ results.size } expected: #{ expected.size }" unless expected.size == results.size 
  results.each_with_index do |result,idx|
    Array(result).each_with_index do |r,r_idx|
      exp = Array(expected[idx])
      sum = sum+(r-exp[r_idx])**2
    end
  end
  sum
end