Method: Eps::Metrics.accuracy

Defined in:
lib/eps/metrics.rb

.accuracy(y_true, y_pred, weight: nil) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/eps/metrics.rb', line 19

def accuracy(y_true, y_pred, weight: nil)
  check_size(y_true, y_pred)
  values = y_true.zip(y_pred).map { |yt, yp| yt == yp ? 1 : 0 }
  if weight
    values.each_with_index do |v, i|
      values[i] *= weight[i]
    end
    values.sum / weight.sum.to_f
  else
    values.sum / y_true.size.to_f
  end
end