Valutazione del modello

Prevedere il CTR con il Machine Learning in Python

Kevin Huo

Instructor

Precisione e recall

  • Precisione: ROI sulla spesa adv tramite clic

    • Bassa precisione = ROI tangibile molto basso dai clic
  • Richiamo (recall): raggiungere il pubblico giusto

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

    • Le aziende tendono a temere 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: la precisione viene ridotta e quindi pesata di più; beta > 1: la precisione viene aumentata e quindi pesata di meno
  • Implementazione in sklearn: fbeta_score(y_true, y_pred, beta)

    • y_true = target reali, y_pred = target previsti
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, 10 TP e 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • FPR bassa può dare AUC ROC alta anche con precisione bassa! Quindi serve guardare entrambe, e anche il F-beta score
Prevedere il CTR con il Machine Learning in Python

ROI sulla spesa adv

  • Stessa idea di prima: costo c e ritorno 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

Passons à la pratique !

Prevedere il CTR con il Machine Learning in Python

Preparing Video For Download...