calc_serendipity_metrics

rectools.metrics.serendipity.calc_serendipity_metrics(metrics: Dict[str, Serendipity], reco: DataFrame, interactions: DataFrame, prev_interactions: DataFrame, catalog: Collection[Union[str, int]]) Dict[str, float][source]

Calculate serendipity metrics.

Warning: It is not recommended to use this function directly. Use calc_metrics instead.

Parameters
  • metrics (dict(str -> SerendipityMetric)) – Dict of metric objects to calculate, where key is metric name and value is metric object.

  • reco (pd.DataFrame) – Recommendations table with columns Columns.User, Columns.Item, Columns.Rank.

  • interactions (pd.DataFrame) – Interactions table with columns Columns.User, Columns.Item.

  • prev_interactions (pd.DataFrame) – Table with previous user-item interactions, with columns Columns.User, Columns.Item.

  • catalog (collection) – Collection of unique item ids that could be used for recommendations.

Returns

Dictionary where keys are the same as keys in metrics and values are metric calculation results.

Return type

dict(str->float)