Diversity prediction theorem: Difference between revisions

Added Wren
(Added Wren)
Line 1,194:
diversity: 2.888888888888889 }
{ 'average-error': 14.5, 'crowd-error': 4, diversity: 10.5 }
</pre>
 
=={{header|Wren}}==
{{trans|Go}}
<lang ecmascript>import "/fmt" for Fmt
 
var averageSquareDiff = Fn.new { |f, preds|
var av = 0
for (pred in preds) av = av + (pred-f)*(pred-f)
return av/preds.count
}
 
var diversityTheorem = Fn.new { |truth, preds|
var av = (preds.reduce { |sum, pred| sum + pred }) / preds.count
var avErr = averageSquareDiff.call(truth, preds)
var crowdErr = (truth-av) * (truth-av)
var div = averageSquareDiff.call(av, preds)
return [avErr, crowdErr, div]
}
 
var predsList = [ [48, 47, 51], [48, 47, 51, 42] ]
var truth = 49
for (preds in predsList) {
var res = diversityTheorem.call(truth, preds)
Fmt.print("Average-error : $6.3f", res[0])
Fmt.print("Crowd-error : $6.3f", res[1])
Fmt.print("Diversity : $6.3f\n", res[2])
}</lang>
 
{{out}}
<pre>
Average-error : 3.000
Crowd-error : 0.111
Diversity : 2.889
 
Average-error : 14.500
Crowd-error : 4.000
Diversity : 10.500
</pre>
 
9,485

edits