K_DM Book
ID

NDCG (Normalized Discounted Cumulative Gain)

4.5.1

NDCG (Normalized Discounted Cumulative Gain)

Diperbarui 2020-01-29 Baca 2 menit
Ringkasan
  • NDCG es una métrica de ranking que evalúa los resultados normalizando la ganancia acumulada con descuento.
  • Utiliza puntuaciones de relevancia para calcular DCG/NDCG y muestra el efecto del descuento logarítmico.
  • También revisamos consideraciones al usar niveles múltiples de relevancia o modelos en cascada.

1. Definición #

Dada una puntuación de relevancia \(rel_i\) para la posición \(i\), la Ganancia Acumulada con Descuento (DCG) se define como:

$$ \mathrm{DCG@k} = \sum_{i=1}^{k} \frac{2^{rel_i} - 1}{\log_2(i + 1)} $$

Para normalizarla, se calcula la DCG del orden ideal (IDCG) y se obtiene:

$$ \mathrm{NDCG@k} = \frac{\mathrm{DCG@k}}{\mathrm{IDCG@k}} $$

2. Cálculo en Python #

1
2
3
4
5
6
7
8
from sklearn.metrics import ndcg_score

# y_true: matriz de relevancia real con forma (n_samples, n_labels)
# y_score: puntuaciones generadas por el modelo

score = ndcg_score(y_true, y_score, k=10)

print("NDCG@10:", round(score, 4))

ndcg_score acepta relevancia binaria (0/1) o escalas de relevancia enteras. La clave está en definir correctamente la matriz de relevancia de referencia.


3. Hiperparámetros #

  • k (límite): Elija @5, @10, etc., según el número de resultados mostrados al usuario.
  • Escala de relevancia: Las etiquetas binarias (0/1) funcionan, pero las escalas graduadas (muy relevante, algo relevante) proporcionan una evaluación más detallada.
  • Base logarítmica: Normalmente se usa log base 2; otras bases solo cambian la escala, no la relación de ranking.

4. Aplicaciones Prácticas #

  • Evaluación de búsqueda: Comúnmente usada para medir cómo los resultados se alinean con las etiquetas de relevancia humanas.
  • Sistemas de recomendación: Usa retroalimentación implícita (vistas, clics, compras) como señal de relevancia para medir mejoras en el ranking.
  • Pruebas A/B: Combina NDCG con métricas en línea para entender cómo las mejoras fuera de línea se reflejan en el rendimiento real.

5. Puntos a Considerar #

  • Etiquetar la relevancia real es costoso; las señales implícitas pueden contener ruido.
  • En sistemas de dos etapas (generación de candidatos → ranking), usa métricas apropiadas para cada fase.
  • Combina NDCG con Recall@k, MAP, u otras métricas para evaluar de manera integral la experiencia del usuario.

Resumen #

  • NDCG mide cuán arriba aparecen los ítems más relevantes, aplicando un descuento logarítmico.
  • Se puede calcular fácilmente con ndcg_score, aunque la elección de k y de la escala de relevancia influye mucho en la interpretación.
  • Utiliza NDCG junto con otras métricas de ranking para evaluar la calidad global del sistema.