# set the environment path to find reco
import sys
sys.path.append("../")
import numpy as np
import pandas as pd
df_true = pd.DataFrame(
{
"USER": [1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3],
"ITEM": [1, 2, 3, 1, 4, 5, 6, 7, 2, 5, 6, 8, 9, 10, 11, 12, 13, 14],
"RATING": [5, 4, 3, 5, 5, 3, 3, 1, 5, 5, 5, 4, 4, 3, 3, 3, 2, 1],
}
)
df_pred = pd.DataFrame(
{
"USER": [1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3],
"ITEM": [3, 10, 12, 10, 3, 5, 11, 13, 4, 10, 7, 13, 1, 3, 5, 2, 11, 14],
"RATING_PRED": [14, 13, 12, 14, 13, 12, 11, 10, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5]
}
)
df_pred[df_pred.USER==3].head(1)
df_true[df_true.USER==3]
from reco.evaluate import precision_at_k, recall_at_k, ndcg_at_k
precision_at_k(df_true, df_pred, k=5)
recall_at_k(df_true, df_pred, k=1)
ndcg_at_k(df_true, df_pred, 5)