Evaluation#

libreco.evaluation.evaluate(model, data, neg_sampling, eval_batch_size=8192, metrics=None, k=10, sample_user_num=None, seed=42)[source]#

Evaluate the model on specific data and metrics.

Parameters:
  • model (Base) – Model for evaluation.

  • data (pandas.DataFrame or TransformedEvalSet) – Data to evaluate.

  • neg_sampling (bool) – Whether to perform negative sampling for evaluating data.

  • eval_batch_size (int, default: 8192) – Batch size used in evaluation.

  • metrics (list or None, default: None) – List of metrics for evaluating.

  • k (int, default: 10) – Parameter of metrics, e.g. recall at k, ndcg at k

  • sample_user_num (int or None, default: None) – Number of users used in evaluating. By default, it will use all the users in eval_data. Setting it to a positive number will sample users randomly from eval data.

  • seed (int, default: 42) – Random seed.

Returns:

eval_results – Evaluation results for the model and data.

Return type:

dict of {str : float}

Examples

>>> eval_result = evaluate(model, data, neg_sampling=True, metrics=["roc_auc", "precision", "recall"])