13 lines
527 B
Ruby
13 lines
527 B
Ruby
def mean(a) = a.sum(0.0) / a.size
|
|
def mean_square_diff(a, predictions) = mean(predictions.map { |x| (x - a)**2 })
|
|
|
|
def diversity_theorem(truth, predictions)
|
|
average = mean(predictions)
|
|
puts "truth: #{truth}, predictions #{predictions}",
|
|
"average-error: #{mean_square_diff(truth, predictions)}",
|
|
"crowd-error: #{(truth - average)**2}",
|
|
"diversity: #{mean_square_diff(average, predictions)}",""
|
|
end
|
|
|
|
diversity_theorem(49.0, [48.0, 47.0, 51.0])
|
|
diversity_theorem(49.0, [48.0, 47.0, 51.0, 42.0])
|