MRR (Mean Reciprocal Rank)
Promedio del recíproco de la posición de la PRIMERA respuesta relevante recuperada.
Definición Técnica & Formal
MRR mide la calidad del ranking premiando a los sistemas que colocan la primera respuesta correcta en las primeras posiciones. Si la primera respuesta correcta aparece en la posición 1, el score recíproco es 1/1 = 1.0; si aparece en la posición 2, es 1/2 = 0.5; en la posición 3, es 1/3 = 0.33.
Puntos Clave & Aplicaciones
"Llegar en 1º lugar te da 100 puntos; llegar en 2º lugar te da 50 puntos; en 3º lugar te da 33 puntos. ¡El primer lugar cuenta muchísimo más!"
💡 Tip: Puedes presionar el botón "Dibujar / Apuntes" en la barra superior para hacer anotaciones gráficas sobre este diagrama.Fórmula Matemática
Demostración Visual e Interactiva
Interactúa con los controles para simular dinámicamente el funcionamiento de MRR (Mean Reciprocal Rank).
Visualizador de la Arquitectura "MRR (Mean Reciprocal Rank)"
Llegar en 1º lugar te da 100 puntos; llegar en 2º lugar te da 50 puntos; en 3º lugar te da 33 puntos. ¡El primer lugar cuenta muchísimo más!
Ejemplo de Código & Demostración
def calculate_mrr(queries_results):
reciprocal_ranks = []
for retrieved_list, gold_ids in queries_results:
rank = None
for idx, doc_id in enumerate(retrieved_list, start=1):
if doc_id in gold_ids:
rank = idx
break
if rank:
reciprocal_ranks.append(1.0 / rank)
else:
reciprocal_ranks.append(0.0)
return sum(reciprocal_ranks) / len(reciprocal_ranks)