Skip to content

Commit a4e6810

Browse files
author
Daria Tikhonovich
committed
small regorg
1 parent 31e59a6 commit a4e6810

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

rectools/metrics/ranking.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -445,15 +445,7 @@ def calc_per_user_from_merged(self, merged: pd.DataFrame, is_debiased: bool = Fa
445445

446446
merged["__DCG"] = ((merged[Columns.Rank] <= self.k).astype(int) * merged[Columns.Rank].fillna(0)).map(idcg_map)
447447

448-
if not self.divide_by_achievable:
449-
idcg = idcg_for_ranks.sum()
450-
ndcg = (
451-
pd.DataFrame({Columns.User: merged[Columns.User], "__ndcg": merged["__DCG"] / idcg})
452-
.groupby(Columns.User, sort=False)["__ndcg"]
453-
.sum()
454-
)
455-
456-
else:
448+
if self.divide_by_achievable:
457449
grouped = merged.groupby(Columns.User, sort=False)
458450
stats = grouped.agg(__ideal=(Columns.Item, "count"), __real=("__DCG", "sum"))
459451

@@ -467,6 +459,14 @@ def calc_per_user_from_merged(self, merged: pd.DataFrame, is_debiased: bool = Fa
467459
# NDCG
468460
ndcg = stats["__real"] / stats["__ideal"]
469461

462+
else:
463+
idcg = idcg_for_ranks.sum()
464+
ndcg = (
465+
pd.DataFrame({Columns.User: merged[Columns.User], "__ndcg": merged["__DCG"] / idcg})
466+
.groupby(Columns.User, sort=False)["__ndcg"]
467+
.sum()
468+
)
469+
470470
del merged["__DCG"]
471471
return ndcg.rename(None)
472472

0 commit comments

Comments
 (0)