RecTools icon indicating copy to clipboard operation
RecTools copied to clipboard

rectools.metrics.calc_metrics method does not work

Open OmarovSayan opened this issue 1 year ago • 1 comments

rectools.metrics.calc_metrics method does not work when trying to run it i got empty result.

code that i tried to run :

from rectools import Columns from rectools.metrics import Accuracy, NDCG reco = pd.DataFrame( { Columns.User: [1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4], Columns.Item: [7, 8, 1, 2, 1, 2, 3, 4, 1, 2, 3], Columns.Rank: [1, 2, 1, 2, 1, 2, 3, 4, 1, 2, 3], } ) interactions = pd.DataFrame( { Columns.User: [1, 1, 2, 3, 3, 3, 4, 4, 4], Columns.Item: [1, 2, 1, 1, 3, 4, 1, 2, 3], Columns.Datetime: [1, 1, 1, 1, 1, 2, 2, 2, 2], } ) split_dt = 2 df_train = interactions.loc[interactions[Columns.Datetime] < split_dt] df_test = interactions.loc[interactions[Columns.Datetime] >= split_dt] metrics = { 'ndcg@1': NDCG(k=1), 'accuracy@1': Accuracy(k=1) } calc_metrics( metrics, reco=reco, interactions=df_test, prev_interactions=df_train, catalog=df_train[Columns.Item].unique() )

Output: {}

OmarovSayan avatar Jul 18 '23 08:07 OmarovSayan

Hi @OmarovSayan, I reproduced your code (added only missed imports from rectools.metrics import calc_metrics and import pandas as pd. It works for me

Can you please say your OS, Python version and packages (pandas and rectools) versions?

feldlime avatar Jul 23 '23 11:07 feldlime