Skip to content

Commit 4df0bde

Browse files
author
Daria Tikhonovich
committed
small refactor
1 parent 3548a4f commit 4df0bde

File tree

1 file changed

+13
-15
lines changed

1 file changed

+13
-15
lines changed

rectools/metrics/ranking.py

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -451,23 +451,21 @@ def calc_per_user_from_merged(self, merged: pd.DataFrame, is_debiased: bool = Fa
451451
pd.DataFrame({Columns.User: merged[Columns.User], "__ndcg": merged["__DCG"] / idcg})
452452
.groupby(Columns.User, sort=False)["__ndcg"]
453453
.sum()
454-
.rename(None)
455454
)
456-
del merged["__DCG"]
457-
return ndcg
458455

459-
grouped = merged.groupby(Columns.User, sort=False)
460-
stats = grouped.agg(__ideal=(Columns.Item, "count"), __real=("__DCG", "sum"))
461-
462-
# IDCG
463-
idcg_cumcum_map = {0: 0}
464-
for rank in ranks:
465-
idcg_cumcum_map[rank] = idcg_cumcum_map[rank - 1] + idcg_map[rank]
466-
stats["__ideal"] = stats["__ideal"].clip(upper=self.k)
467-
stats["__ideal"] = stats["__ideal"].map(idcg_cumcum_map)
468-
469-
# NDCG
470-
ndcg = stats["__real"] / stats["__ideal"]
456+
else:
457+
grouped = merged.groupby(Columns.User, sort=False)
458+
stats = grouped.agg(__ideal=(Columns.Item, "count"), __real=("__DCG", "sum"))
459+
460+
# IDCG
461+
idcg_cumcum_map = {0: 0}
462+
for rank in ranks:
463+
idcg_cumcum_map[rank] = idcg_cumcum_map[rank - 1] + idcg_map[rank]
464+
stats["__ideal"] = stats["__ideal"].clip(upper=self.k)
465+
stats["__ideal"] = stats["__ideal"].map(idcg_cumcum_map)
466+
467+
# NDCG
468+
ndcg = stats["__real"] / stats["__ideal"]
471469

472470
del merged["__DCG"]
473471
return ndcg.rename(None)

0 commit comments

Comments
 (0)