recommenders-team/recommenders
View on GitHub[ASK] Question on ndcg_at_k calculation
Open
#1,962 opened on Jul 24, 2023
help wanted
Repository metrics
- Stars
- (17,706 stars)
- PR merge metrics
- (Avg merge 6d 16h) (10 merged PRs in 30d)
Description
Description
Why are we using rank ('first) to get the order of the ideal ranking instead of rank('min') or rank('average)?
https://github.com/microsoft/recommenders/blob/main/recommenders/evaluation/python_evaluation.py#L687 line 597 df_idcg["irank"] = df_idcg.groupby(col_user, as_index=False, sort=False)[ col_rating ].rank("first", ascending=False)
In this case, if there is a tied in the rating, for example, item A, B, C, D, rating is 1, 0, 0,0. Using rank('first), irank = 1,2,3,4. But should we take the tied condition into consideration, that means the irank = 1,2,2,2?