Diversity prediction theorem: Difference between revisions

→‎{{header|Haskell}}: added solution
(→‎{{header|Ruby}}: remove square method)
(→‎{{header|Haskell}}: added solution)
Line 398:
crowd-error : 4.000
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}}==
Line 459 ⟶ 492:
└─────────────┴───────────┴─────────┘
</pre>
 
=={{header|Java}}==
{{trans|Kotlin}}
Anonymous user