Ocena modelu

Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Kevin Huo

Instructor

Precyzja i czułość

  • Precyzja: ROI z wydatków na reklamy poprzez kliknięcia

    • Niska precyzja oznacza znikomy wymierny ROI z kliknięć
  • Czułość: dotarcie do właściwej grupy odbiorców

    • Niska czułość oznacza utracone możliwości ROI
  • Sensowne może być różne ważenie obu miar

    • Firmy zazwyczaj bardziej obawiają się niskiej precyzji niż niskiej czułości
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Wynik F-beta

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

  • Współczynnik beta: określa względne ważenie dwóch miar

    • Beta między 0 a 1 zmniejsza precyzję, nadając jej większą wagę; beta > 1 zwiększa precyzję, nadając jej mniejszą wagę
  • Implementacja dostępna w sklearn poprzez: fbeta_score(y_true, y_pred, beta=beta)

    • y_true to prawdziwe etykiety, a y_pred – przewidywane etykiety
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

AUC krzywej ROC a precyzja

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Niezrównoważony zbiór danych: fpr może być niskie, nawet gdy precision jest również niskie.
  • Przyjmijmy, że mamy 100 TN, 10 TP i 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Niskie FPR może prowadzić do wysokiego AUC krzywej ROC, mimo niskiej precyzji! Ważne jest zatem uwzględnienie obu miar oraz F-beta score
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

ROI z wydatków na reklamy

  • Podobnie jak wcześniej: pewien koszt c i zwrot r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Czas na ćwiczenia!

Przewidywanie CTR z użyciem uczenia maszynowego w Pythonie

Preparing Video For Download...