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