MAP (Mean Average Precision)

Eval

MAP (Mean Average Precision)

Creado: Última actualización: Tiempo de lectura: 2 min
まとめ
  • MAP es una métrica de ranking que promedia la Precisión Promedio (AP) en múltiples consultas.
  • Usando un ejemplo de búsqueda, se calculan AP y MAP para observar cómo afecta la posición de los resultados.
  • También se abordan cuestiones prácticas como listas largas de candidatos y métodos de ponderación.

1. Definición de AP y MAP #

Para una consulta, la Precisión Promedio (AP) es el promedio de las precisiones en cada posición donde se encuentra un ítem relevante.

$$ \mathrm{AP} = \frac{1}{|G|} \sum_{k \in G} P(k) $$

Aquí, \(G\) es el conjunto de posiciones de los ítems relevantes, y \(P(k)\) es la precisión acumulada hasta la posición \(k\).
MAP es el promedio de los valores de AP entre todas las consultas.

$$ \mathrm{MAP} = \frac{1}{Q} \sum_{q=1}^Q \mathrm{AP}_q $$


2. Cálculo en Python #

Scikit-learn no tiene una función MAP directa, pero se puede calcular average_precision_score por consulta y luego hacer el promedio.

from sklearn.metrics import average_precision_score
import numpy as np

aps = []

for q in queries:
    aps.append(average_precision_score(y_true[q], y_score[q]))

map_score = np.mean(aps)
print("MAP:", round(map_score, 4))

y_true[q] contiene etiquetas binarias (0/1) y y_score[q] las puntuaciones del modelo.


3. Características y Ventajas #

  • Ideal para rankings con múltiples elementos relevantes.
  • Premia los sistemas que colocan los elementos correctos más arriba.
  • Considera tanto precisión como exhaustividad (recall), ofreciendo una evaluación más completa que Precision@k.

4. Aplicaciones Prácticas #

  • Sistemas de búsqueda: Evalúa qué tan bien los resultados cubren todos los ítems relevantes.
  • Sistemas de recomendación: Útil cuando existen múltiples resultados válidos (por ejemplo, productos vistos o comprados).
  • Learning to Rank (LTR): Se usa para evaluar modelos de ranking como LambdaMART o XGBoost en pruebas offline.

5. Puntos a Considerar #

  • Si el número de ítems relevantes por consulta varía mucho, MAP puede estar sesgado — considera Weighted MAP.
  • Las consultas sin ítems relevantes (solo 0s) no tienen AP definido; decide si se excluyen o se asignan como 0.
  • Combina MAP con NDCG, Recall@k, u otras métricas para una evaluación integral del ranking.

Resumen #

  • MAP es el promedio de las precisiones promedio, ideal para rankings con múltiples respuestas correctas.
  • Se calcula fácilmente promediando los valores de AP por consulta.
  • Combínalo con NDCG o Recall@k para mejorar la evaluación general del modelo de ranking.