Valutazione del modello

Prevedere il CTR con il Machine Learning in Python

Kevin Huo

Instructor

Precisione e recall

  • Precisione: ROI sulla spesa pubblicitaria tramite clic

    • Bassa precisione = poco ROI concreto dai clic
  • Recall: raggiungere il pubblico rilevante

    • Basso recall = opportunità di ROI mancate
  • Può avere senso pesare diversamente le due metriche

    • Le aziende tendono a evitare più la bassa precisione che il basso recall
Prevedere il CTR con il Machine Learning in Python

Punteggio F-beta

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

  • Coefficiente beta: indica il peso relativo delle due metriche

    • Beta tra 0 e 1 riduce la precisione e quindi la pesa di più; beta > 1 aumenta la precisione e quindi la pesa meno
  • Implementazione in sklearn: fbeta_score(y_true, y_pred, beta=beta)

    • y_true sono i target reali e y_pred i target predetti
Prevedere il CTR con il Machine Learning in Python

AUC ROC vs precisione

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Dataset sbilanciato: fpr può essere basso anche con precision bassa.
  • Supponiamo 100 TN, e 10 TP e 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Un FPR basso può dare AUC ROC alta, nonostante la precisione sia bassa! Quindi è importante guardare entrambe le metriche, insieme a F-beta score.
Prevedere il CTR con il Machine Learning in Python

ROI sulla spesa pubblicitaria

  • Stessa idea di prima: costo c e ricavo r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Prevedere il CTR con il Machine Learning in Python

Passiamo alla pratica!

Prevedere il CTR con il Machine Learning in Python

Preparing Video For Download...