INNER CODE UNIT · Go
recall
orneryd/NornicDB · cmd/eval/main.go:343
func recall(returned []string, expected map[string]bool, k int) float64 {
if len(expected) == 0 {
return 0.0
}
limit := min(k, len(returned))
relevant := 0
for i := 0; i < limit; i++ {
if expected[returned[i]] {
relevant++
}
}
return float64(relevant) / float64(len(expected))
}
func mrr(returned []string, expected map[string]bool) float64 {
for i, id := range returned {
if expected[id] {
return 1.0 / float64(i+1)