INNER CODE UNIT · Go
averagePrecision
orneryd/NornicDB · cmd/eval/main.go:388
func averagePrecision(returned []string, expected map[string]bool) float64 {
if len(expected) == 0 {
return 0.0
}
sum := 0.0
relevant := 0
for i, id := range returned {
if expected[id] {
relevant++
sum += float64(relevant) / float64(i+1)
}
}
return sum / float64(len(expected))
}
func hitRate(returned []string, expected map[string]bool) float64 {
for _, id := range returned {
if expected[id] {