まとめ
- 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.