Anonymous user
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}}
|