Diversity prediction theorem: Difference between revisions

Content added Content deleted
(→‎{{header|Ruby}}: remove square method)
(→‎{{header|Haskell}}: added solution)
Line 398: Line 398:
crowd-error : 4.000
crowd-error : 4.000
diversity : 10.500</pre>
diversity : 10.500</pre>

=={{header|Haskell}}==

<lang haskell>mean :: (Fractional a, Foldable t) => t a -> a
mean lst = sum lst / fromIntegral (length lst)

meanSq :: Fractional c => c -> [c] -> c
meanSq x = mean . map (\y -> (x-y)^^2)

diversityPrediction x estimates = do
putStrLn $ "TrueValue:\t" ++ show x
putStrLn $ "CrowdEstimates:\t" ++ show estimates
let avg = mean estimates
let avgerr = meanSq x estimates
putStrLn $ "AverageError:\t" ++ show avgerr
let crowderr = (x - avg)^^2
putStrLn $ "CrowdError:\t" ++ show crowderr
let diversity = meanSq avg estimates
putStrLn $ "Diversity:\t" ++ show diversity</lang>

<pre>λ> diversityPrediction 49 [48,47,51]
TrueValue: 49.0
CrowdEstimates: [48.0,47.0,51.0]
AverageError: 3.0
CrowdError: 0.11111111111111269
Diversity: 2.888888888888889

λ> diversityPrediction 49 [48,47,51,42]
TrueValue: 49.0
CrowdEstimates: [48.0,47.0,51.0,42.0]
AverageError: 14.5
CrowdError: 4.0
Diversity: 10.5</pre>


=={{header|J}}==
=={{header|J}}==
Line 459: Line 492:
└─────────────┴───────────┴─────────┘
└─────────────┴───────────┴─────────┘
</pre>
</pre>

=={{header|Java}}==
=={{header|Java}}==
{{trans|Kotlin}}
{{trans|Kotlin}}