Hit Rate (Tasa de Aciertos)

Eval

Hit Rate (Tasa de Aciertos)

Creado: Última actualización: Tiempo de lectura: 2 min
まとめ
  • Hit Rate mide la proporción de usuarios (o consultas) cuyo listado top-k contiene al menos un elemento relevante.
  • Evalúa la cobertura calculando Hit Rate@k a partir de las listas de candidatos por usuario.
  • Se revisa su relación con Recall y Precision, y los casos en que conviene utilizarlo.

1. Definición #

Para una consulta, sea \(G_q\) el conjunto de ítems relevantes y \(S_{q,k}\) el conjunto de los k mejores resultados: $$ \mathrm{HR@k} = \frac{1}{Q} \sum_{q=1}^Q \mathbf{1}{ G_q \cap S_{q,k} \ne \emptyset } $$ Si se encuentra al menos un elemento relevante, el valor es 1; si no, 0. El promedio entre todas las consultas da el Hit Rate global.


2. Cálculo en Python #

import numpy as np

def hit_rate_at_k(y_true: np.ndarray, y_score: np.ndarray, k: int) -> float:
    """Devuelve 1.0 si hay al menos un ítem relevante dentro de los top-k."""
    idx = np.argsort(-y_score)[:k]
    return 1.0 if y_true[idx].sum() > 0 else 0.0

hits = [hit_rate_at_k(y_true[q], y_score[q], k=10) for q in range(len(queries))]
hr_at_10 = np.mean(hits)

print("Hit Rate@10:", round(hr_at_10, 3))

Cuando hay múltiples consultas (o usuarios), se promedian los valores.
Se parece a Recall@k, pero solo se fija en si hay algún elemento correcto en el top-k.


3. Ventajas #

  • Intuitivo: Indica directamente el porcentaje de usuarios con al menos un resultado correcto.
  • Más permisivo que Recall@k: Considera éxito con un solo acierto, aunque falten otros.
  • Útil en fases tempranas: Sirve como indicador rápido para comparar modelos.

4. Aplicaciones Prácticas #

  • Sistemas de recomendación: Mide el porcentaje de usuarios cuyos ítems clicados o comprados aparecen entre los candidatos.
  • E-commerce: Comprueba si los productos personalizados o populares se incluyen en las recomendaciones.
  • Pruebas A/B: Antes de los experimentos en línea, usa mejoras en HR@k para seleccionar modelos offline.

5. Relación con Otras Métricas #

MétricaDescripciónMotivo para Combinar
Hit RateÉxito binario por usuarioSimple, pero no muestra la cobertura completa
Recall@kÍtems correctos / total de relevantesEvalúa cobertura cuando hay múltiples respuestas
Precision@kÍtems correctos / ítems recuperadosDetecta ruido incluso con alta tasa de aciertos
NDCGConsidera la posición en el rankingEvalúa si el acierto aparece en los primeros lugares

Resumen #

  • Hit Rate es una métrica simple que indica si los usuarios recibieron al menos un resultado correcto.
  • Al combinarla con Recall@k o NDCG, se obtiene una visión más completa de la cobertura y la calidad del ranking.
  • Es un KPI práctico para la evaluación inicial y la comunicación con equipos de negocio.