From d787735bede774e0fa75553c9e0f0bb7f639bab5 Mon Sep 17 00:00:00 2001 From: Sahil Badyal Date: Wed, 6 Mar 2019 18:22:25 +0530 Subject: [PATCH] Sanity check in avg precision should be before logic --- Python/ml_metrics/average_precision.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Python/ml_metrics/average_precision.py b/Python/ml_metrics/average_precision.py index e18297d..567abbd 100644 --- a/Python/ml_metrics/average_precision.py +++ b/Python/ml_metrics/average_precision.py @@ -22,6 +22,9 @@ def apk(actual, predicted, k=10): The average precision at k over the input lists """ + if not actual: + return 0.0 + if len(predicted)>k: predicted = predicted[:k] @@ -33,9 +36,6 @@ def apk(actual, predicted, k=10): num_hits += 1.0 score += num_hits / (i+1.0) - if not actual: - return 0.0 - return score / min(len(actual), k) def mapk(actual, predicted, k=10):