Hodnocení modelu

Předpovídání CTR pomocí Machine Learning v Pythonu

Kevin Huo

Instructor

Přesnost a úplnost

  • Přesnost: návratnost investic do reklamy prostřednictvím kliknutí

    • Nízká přesnost znamená malou návratnost investic z kliknutí
  • Úplnost: oslovení relevantního publika

    • Nízká úplnost znamená promeškaní příležitostí k návratnosti investic
  • Může být vhodné tyto dvě metriky různě vyvážit

    • Společnosti pravděpodobně kladou větší důraz na vyhnutí se nízké přesnosti než nízké úplnosti
Předpovídání CTR pomocí Machine Learning v Pythonu

Skóre F-beta

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

  • Koeficient beta: vyjadřuje relativní váhu dvou metrik

    • Beta mezi 0 a 1 znamená, že přesnost je snížena a tedy více vážena; beta > 1 znamená, že přesnost je zvýšena a tedy méně vážena
  • Implementace dostupná v sklearn pomocí: fbeta_score(y_true, y_pred, beta=beta)

    • y_true jsou skutečné cíle a y_pred předpovězené cíle
Předpovídání CTR pomocí Machine Learning v Pythonu

AUC ROC křivky vs. přesnost

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Nevyvážená data: fpr může být nízká i při nízké precision.
  • Předpokládejme 100 TN, 10 TP a 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Nízká FPR může vést k vysokému AUC ROC křivky, i při nízké přesnosti! Proto je důležité sledovat obě metriky spolu se F-beta score
Předpovídání CTR pomocí Machine Learning v Pythonu

Návratnost investic do reklamy

  • Stejná myšlenka jako dříve: určité náklady c a výnos r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Předpovídání CTR pomocí Machine Learning v Pythonu

Pojďme si procvičit!

Předpovídání CTR pomocí Machine Learning v Pythonu

Preparing Video For Download...