RosettaCodeData/Task/Diversity-prediction-theorem/Pluto/diversity-prediction-theorem.pluto
2026-04-30 12:34:36 -04:00

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