Évaluation du modèle

Prédire le CTR avec le Machine Learning en Python

Kevin Huo

Instructor

Précision et rappel

  • Précision : ROI des dépenses pubs via les clics

    • Faible précision = très peu de ROI tangible sur les clics
  • Rappel : ciblage d’audiences pertinentes

    • Faible rappel = opportunités de ROI manquées
  • Il peut être pertinent de pondérer différemment les deux

    • Les entreprises tiennent souvent plus à éviter une faible précision qu’un faible rappel
Prédire le CTR avec le Machine Learning en Python

Score F-bêta

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

  • Coefficient bêta : pondération relative des deux métriques

    • Bêta entre 0 et 1 : la précision est réduite donc davantage pondérée ; bêta > 1 : la précision est amplifiée donc moins pondérée
  • Implémentation sklearn : fbeta_score(y_true, y_pred, beta=beta)

    • y_true = cibles réelles, y_pred = cibles prédites
Prédire le CTR avec le Machine Learning en Python

AUC ROC vs précision

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

fpr = 1 - tn / (tn + fp)
precision = tp / (tp + fp)
  • Jeu de données déséquilibré : fpr peut être faible alors que la precision est aussi faible.
  • Supposons 100 TN, et 10 TP et 10 FP.
fpr = 1 - 100 / (100 + 10) = 0.091
precision = tp / (tp + fp) = 0.5
  • Un FPR faible peut donner une AUC ROC élevée, malgré une précision faible ! Il faut donc examiner les deux métriques, ainsi que le F-beta score.
Prédire le CTR avec le Machine Learning en Python

ROI des dépenses pubs

  • Même idée que précédemment : un coût c et un retour r
total_return = tp * r
total_spent = (tp + fp) * cost
roi = total_return / total_spent 
    = (tp) / (tp + fp) * (r / cost) 
    = precision * (r / cost)
Prédire le CTR avec le Machine Learning en Python

Passons à la pratique !

Prédire le CTR avec le Machine Learning en Python

Preparing Video For Download...