Evaluarea modelului

Predicția CTR cu Machine Learning în Python

Kevin Huo

Instructor

Precizie și recall

  • Precizie: ROI din cheltuielile publicitare prin clicuri

    • Precizie scăzută înseamnă ROI redus din clicuri
  • Recall: targetarea audienței relevante

    • Recall scăzut înseamnă oportunități de ROI ratate
  • Poate fi util să le ponderăm diferit

    • Companiile tind să evite mai mult precizia scăzută decât recall-ul scăzut
Predicția CTR cu Machine Learning în Python

Scorul F-beta

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

  • Coeficientul beta: reprezintă ponderea relativă a celor două metrici

    • Beta între 0 și 1 înseamnă că precizia este mai mică, deci ponderată mai mult; beta > 1 înseamnă că precizia este mai mare, deci ponderată mai puțin
  • Implementare disponibilă în sklearn prin: fbeta_score(y_true, y_pred, beta=beta)

    • y_true reprezintă valorile reale, iar y_pred valorile prezise
Predicția CTR cu Machine Learning în Python

AUC al curbei ROC versus precizie

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Set de date dezechilibrat: fpr poate fi mic chiar și când precision este scăzut.
  • Să presupunem că avem 100 TN, 10 TP și 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • FPR scăzut poate duce la AUC ridicat al curbei ROC, chiar dacă precizia este scăzută! De aceea este important să analizăm ambele metrici, împreună cu F-beta score
Predicția CTR cu Machine Learning în Python

ROI din cheltuielile publicitare

  • Aceeași idee ca anterior: un cost c și un randament r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Predicția CTR cu Machine Learning în Python

Să exersăm!

Predicția CTR cu Machine Learning în Python

Preparing Video For Download...