Diversity prediction theorem: Difference between revisions

Content added Content deleted
Line 1,353: Line 1,353:
=={{header|Racket}}==
=={{header|Racket}}==


{{trans|Clojure}}
<lang racket></lang>

<lang racket>#lang racket

(define (mean l)
(/ (apply + l) (length l)))

(define (diversity-theorem truth predictions)
(define μ (mean predictions))
(define (avg-sq-diff a)
(mean (map (λ (p) (sqr (- p a))) predictions)))
(hash 'average-error (avg-sq-diff truth)
'crowd-error (sqr (- truth μ))
'diversity (avg-sq-diff μ)))
(println (diversity-theorem 49 '(48 47 51)))
(println (diversity-theorem 49 '(48 47 51 42)))</lang>


{{out}}
{{out}}


<pre>'#hash((average-error . 3) (crowd-error . 1/9) (diversity . 2 8/9))
<pre></pre>
'#hash((average-error . 14 1/2) (crowd-error . 4) (diversity . 10 1/2))</pre>


=={{header|Raku}}==
=={{header|Raku}}==