まとめ
- 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étrica | Descripción | Motivo para Combinar |
|---|---|---|
| Hit Rate | Éxito binario por usuario | Simple, pero no muestra la cobertura completa |
| Recall@k | Ítems correctos / total de relevantes | Evalúa cobertura cuando hay múltiples respuestas |
| Precision@k | Ítems correctos / ítems recuperados | Detecta ruido incluso con alta tasa de aciertos |
| NDCG | Considera la posición en el ranking | Evalú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.