A cute little python module for calculating different ranking metrics. Based entirely on the gist from https://gist.github.com/bwhite/3726239.
Requires a minimum python installation of 3.6
pip install cute_ranking
from cute_ranking.core import mean_reciprocal_rank
relevancies = [[0, 0, 1], [0, 1, 0], [1, 0, 0]]
mean_reciprocal_rank(relevancies)0.611111111111111
The library current supports the following information retrieval ranking metrics:
- Mean Reciprocal Rank -
mean_reciprocal_rank - Relevancy Precision -
r_precision - Precision at K -
precision_at_k - Recall at K -
recall_at_k - F1 score at K -
f1_score_at_k - Average Precision -
average_precision - Mean Average Precision -
mean_average_precision - Discounted Cumulative Gain at K -
dcg_at_k - Normalized Discounted Cumulative Gain at K -
ndcg_at_k - Mean Rank -
mean_rank - Hit@k -
hit_rate_at_k
PRs and issues welcome! Please make sure to read through the CONTRIBUTING.md doc for how to contribute :).