Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions recommenders/evaluation/python_evaluation.py
Original file line number Diff line number Diff line change
Expand Up @@ -680,14 +680,14 @@ def ndcg_at_k(
df_idcg["idcg"] = df_idcg["rel"] / discfun(1 + df_idcg["irank"])

# Calculate the actual DCG for each user
df_user = df_dcg.groupby(col_user, as_index=False, sort=False).agg(dcg="sum")
df_user = df_dcg.groupby(col_user, as_index=False, sort=False).agg({"dcg": "sum"})

# Calculate the ideal DCG for each user
df_user = df_user.merge(
df_idcg.groupby(col_user, as_index=False, sort=False)
.head(k)
.groupby(col_user, as_index=False, sort=False)
.agg(idcg="sum"),
.agg({"idcg": "sum"}),
on=col_user,
)

Expand Down Expand Up @@ -726,7 +726,7 @@ def _get_reciprocal_rank(
df_hit_sorted["rr"] = (
df_hit_sorted.groupby(col_user).cumcount() + 1
) / df_hit_sorted["rank"]
df_hit_sorted = df_hit_sorted.groupby(col_user).agg(rr="sum").reset_index()
df_hit_sorted = df_hit_sorted.groupby(col_user).agg({"rr": "sum"}).reset_index()

return pd.merge(df_hit_sorted, df_hit_count, on=col_user), n_users

Expand Down Expand Up @@ -1235,7 +1235,7 @@ def _get_intralist_similarity(
item_pair_sim["i1"] != item_pair_sim["i2"]
].reset_index(drop=True)
df_intralist_similarity = (
item_pair_sim.groupby([col_user]).agg(**{col_sim: "mean"}).reset_index()
item_pair_sim.groupby([col_user]).agg({col_sim: "mean"}).reset_index()
)
df_intralist_similarity.columns = [col_user, "avg_il_sim"]

Expand Down Expand Up @@ -1345,7 +1345,7 @@ def diversity(
col_item,
col_sim,
)
avg_diversity = df_user_diversity.agg(user_diversity="mean")[0]
avg_diversity = df_user_diversity.agg({"user_diversity": "mean"})[0]
return avg_diversity


Expand Down Expand Up @@ -1432,7 +1432,7 @@ def novelty(train_df, reco_df, col_user=DEFAULT_USER_COL, col_item=DEFAULT_ITEM_
reco_item_novelty["product"] = (
reco_item_novelty["count"] * reco_item_novelty["item_novelty"]
)
avg_novelty = reco_item_novelty.agg(product="sum")[0] / n_recommendations
avg_novelty = reco_item_novelty.agg({"product": "sum"})[0] / n_recommendations

return avg_novelty

Expand Down Expand Up @@ -1512,7 +1512,7 @@ def user_item_serendipity(

reco_user_item_avg_sim = (
reco_train_user_item_sim.groupby([col_user, col_item])
.agg(**{col_sim: "mean"})
.agg({col_sim: "mean"})
.reset_index()
)
reco_user_item_avg_sim.columns = [
Expand Down Expand Up @@ -1582,7 +1582,7 @@ def user_serendipity(
)
df_user_serendipity = (
df_user_item_serendipity.groupby(col_user)
.agg(user_item_serendipity="mean")
.agg({"user_item_serendipity": "mean"})
.reset_index()
)
df_user_serendipity.columns = [col_user, "user_serendipity"]
Expand Down Expand Up @@ -1636,7 +1636,7 @@ def serendipity(
col_sim,
col_relevance,
)
avg_serendipity = df_user_serendipity.agg(user_serendipity="mean")[0]
avg_serendipity = df_user_serendipity.agg({"user_serendipity": "mean"})[0]
return avg_serendipity


Expand Down Expand Up @@ -1711,6 +1711,6 @@ def distributional_coverage(
df_entropy["p(i)"] = df_entropy["count"] / count_row_reco
df_entropy["entropy(i)"] = df_entropy["p(i)"] * np.log2(df_entropy["p(i)"])

d_coverage = -df_entropy.agg(**{"entropy(i)": "sum"})[0]
d_coverage = -df_entropy.agg({"entropy(i)": "sum"})[0]

return d_coverage
4 changes: 2 additions & 2 deletions recommenders/evaluation/spark_evaluation.py
Original file line number Diff line number Diff line change
Expand Up @@ -761,7 +761,7 @@ def diversity(self):
if self.avg_diversity is None:
self.df_user_diversity = self.user_diversity()
self.avg_diversity = self.df_user_diversity.agg(
user_diversity="mean"
{"user_diversity": "mean"}
).first()[0]
return self.avg_diversity

Expand Down Expand Up @@ -904,7 +904,7 @@ def serendipity(self):
if self.avg_serendipity is None:
self.df_user_serendipity = self.user_serendipity()
self.avg_serendipity = self.df_user_serendipity.agg(
user_serendipity="mean"
{"user_serendipity": "mean"}
).first()[0]
return self.avg_serendipity

Expand Down