Evaluation#

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

Evaluate the model on specific data and metrics.

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

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

  • 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, default: 2048) – Number of users for evaluating. Setting it to a positive number will sample users randomly from eval data.

  • neg_sample (bool, default: False) – Whether to do negative sampling when evaluating.

  • update_features (bool, default: False) – Whether to update model’s data_info from features in data.

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

Returns:

results – Evaluation results for the model and data.

Return type:

dict of {str : float}

Examples

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