Modelbewertung

CTR-Vorhersage mit Machine Learning in Python

Kevin Huo

Instructor

Precision und Recall

  • Precision: ROI auf Anzeigenausgaben durch Klicks

    • Niedrige Precision bedeutet kaum messbaren ROI durch Klicks
  • Recall: relevante Zielgruppe erreichen

    • Niedriger Recall bedeutet verpasste ROI‑Chancen
  • Es kann sinnvoll sein, beide unterschiedlich zu gewichten

    • Unternehmen achten meist stärker darauf, niedrige Precision zu vermeiden als niedrigen Recall
CTR-Vorhersage mit Machine Learning in Python

F‑Beta-Score

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

  • Beta-Koeffizient: relative Gewichtung der beiden Metriken

    • Beta zwischen 0 und 1: Precision wird kleiner und damit stärker gewichtet; Beta > 1: Precision wird größer und damit schwächer gewichtet
  • In sklearn verfügbar über: fbeta_score(y_true, y_pred, beta=beta)

    • y_true sind die echten Targets, y_pred die vorhergesagten Targets
CTR-Vorhersage mit Machine Learning in Python

AUC der ROC‑Kurve vs. Precision

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Unausgewogenes Datenset: fpr kann niedrig sein, obwohl precision auch niedrig ist.
  • Angenommen, wir haben 100 TN sowie 10 TP und 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Niedrige FPR kann zu hoher AUC der ROC‑Kurve führen, obwohl die Precision niedrig ist! Daher beide Metriken plus F-beta score betrachten.
CTR-Vorhersage mit Machine Learning in Python

ROI bei Anzeigenausgaben

  • Gleiche Idee wie zuvor: Kosten c und Return r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
CTR-Vorhersage mit Machine Learning in Python

Lass uns üben!

CTR-Vorhersage mit Machine Learning in Python

Preparing Video For Download...