Evaluación del modelo

Predicción del CTR con Machine Learning en Python

Kevin Huo

Instructor

Precisión y exhaustividad

  • Precisión: ROI de gasto en anuncios vía clics

    • Baja precisión = muy poco ROI tangible por clics
  • Exhaustividad (recall): llegar a la audiencia relevante

    • Bajo recall = oportunidades de ROI perdidas
  • Puede tener sentido ponderarlas distinto

    • Suele importar más evitar baja precisión que baja exhaustividad
Predicción del CTR con Machine Learning en Python

Puntaje F-beta

$$F_\beta = (1+\beta^2)\cdot\frac{\text{precision}\cdot\text{recall}}{(\beta^2 \cdot \text{precision}) + \text{recall}}$$

  • Coeficiente beta: pondera ambas métricas

    • Beta entre 0 y 1 reduce el recall relativo y da más peso a precisión; beta > 1 aumenta el recall relativo y resta peso a precisión
  • Implementación en sklearn: fbeta_score(y_true, y_pred, beta=beta)

    • y_true son los objetivos reales y y_pred los predichos
Predicción del CTR con Machine Learning en Python

AUC de ROC vs. precisión

roc_auc = roc_auc_score(y_test, y_score[:, 1])

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Con datos desbalanceados: fpr puede ser bajo cuando la precision también es baja.
  • Supón 100 TN, y 10 TP y 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Un FPR bajo puede dar AUC alto en la curva ROC aunque la precisión sea baja. Mira ambas métricas y también el F-beta score.
Predicción del CTR con Machine Learning en Python

ROI en publicidad

  • Igual que antes: un coste c y un retorno r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Predicción del CTR con Machine Learning en Python

¡Vamos a practicar!

Predicción del CTR con Machine Learning en Python

Preparing Video For Download...