Diversity prediction theorem: Difference between revisions

→‎{{header|Ruby}}: More idiomatic; use 3.0 end-less methods
No edit summary
(→‎{{header|Ruby}}: More idiomatic; use 3.0 end-less methods)
Line 1,422:
=={{header|Ruby}}==
{{trans|D}}
<lang ruby>def square(x) = x * x
def mean(a) return= a.sum(0.0) / a.size
return x * x
def mean_square_diff(a, predictions) return= mean(predictions.map { |x| square(x - a) })
end
 
def diversityTheoremdiversity_theorem(truth, predictions)
def mean(a)
return a.sum(0.0) / a.size
end
 
def meanSquareDiff(a, predictions)
return mean(predictions.map { |x| square(x - a) })
end
 
def diversityTheorem(truth, predictions)
average = mean(predictions)
printputs "average-error: ", meanSquareDiff#{mean_square_diff(truth, predictions)}", "\n"
print "crowd-error: ", #{square(truth - average)}", "\n"
print "diversity: ", meanSquareDiff#{mean_square_diff(average, predictions)}", "\n"
print "\n"
end
 
def main
diversityTheorem(49.0, [48.0, 47.0, 51.0])
diversityTheorem(49.0, [48.0, 47.0, 51.0, 42.0])
end
 
diversityTheoremdiversity_theorem(49.0, [48.0, 47.0, 51.0])
main()</lang>
diversityTheoremdiversity_theorem(49.0, [48.0, 47.0, 51.0, 42.0])</lang>
{{out}}
<pre>average-error: 3.0
1,149

edits