25 lines
769 B
Text
25 lines
769 B
Text
local fmt = require "fmt"
|
|
require "table2"
|
|
|
|
local function average_square_diff(f, preds)
|
|
local av = 0
|
|
for preds as pred do av += (pred - f) * (pred - f) end
|
|
return av / #preds
|
|
end
|
|
|
|
local function diversity_theorem(truth, preds)
|
|
local av = preds:mean()
|
|
local av_err = average_square_diff(truth, preds)
|
|
local crowd_err = (truth - av) * (truth - av)
|
|
local div = average_square_diff(av, preds)
|
|
return av_err, crowd_err, div
|
|
end
|
|
|
|
local preds_list = { {48, 47, 51}, {48, 47, 51, 42} }
|
|
local truth = 49
|
|
for preds_list as preds do
|
|
local av_err, crowd_err, div = diversity_theorem(truth, preds)
|
|
fmt.print("Average-error : %6.3f", av_err)
|
|
fmt.print("Crowd-error : %6.3f", crowd_err)
|
|
fmt.print("Diversity : %6.3f\n", div)
|
|
end
|