module Newral::ErrorCalculation

Public Class Methods

mean_square( results, expected ) click to toggle source
# 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 ) click to toggle source
# 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 ) click to toggle source
# 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