Advertisement
ForestFox

3 вопрос

Oct 28th, 2023
581
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.45 KB | None | 0 0
  1. def hits_count(dup_ranks, k):
  2.     return sum([(int)(r <= k) for r in dup_ranks]) / len(dup_ranks)
  3.  
  4. import math
  5.  
  6. def dcg_score(dup_ranks, k):
  7.     return sum([1 / math.log2(1 + r) * (r <= k) for r in dup_ranks]) / len(dup_ranks)
  8.  
  9. dup_ranks = [2, 1, 47, 10, 5]
  10. diff_scores = [hits_count([r], 47) - dcg_score([r], 1) for r in dup_ranks]
  11.  
  12. # Find the maximum value
  13. max_diff_score = max(diff_scores)
  14.  
  15. print("Maximum Hits@47 - DCG@1: ", max_diff_score)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement