Autres métriques de modèle

Marketing Analytics : prédire l’attrition client en Python

Mark Peterson

Director of Data Science, Infoblox

Seuils de probabilité

  • Chaque prédiction de votre classifieur a une probabilité associée
  • Seuil de probabilité par défaut dans scikit-learn : 50 %

 

  • Et si l'on faisait varier ce seuil ?
Marketing Analytics : prédire l’attrition client en Python

Partie 1 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 2 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 3 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 4 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 5 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 6 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 7 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Partie 8 de la courbe ROC

Marketing Analytics : prédire l’attrition client en Python

Générer des probabilités dans sklearn

logreg.predict_proba(X_test)[:,1]
array([[0.80188981, 0.19811019],
       [0.96484075, 0.03515925],
       [0.9182671 , 0.0817329 ],
       ...,
y_pred_prob = logreg.predict_proba(X_test)[:,1]
Marketing Analytics : prédire l’attrition client en Python

Courbe ROC dans sklearn

from sklearn.metrics import roc_curve

fpr, tpr, thresholds = roc_curve(y_test, y_pred_prob)
import matplotlib.pyplot as plt

plt.plot(fpr, tpr)

plt.xlabel("False Positive Rate")

plt.ylabel("True Positive Rate")

plt.plot([0, 1], [0, 1], "k--")

plt.show()
Marketing Analytics : prédire l’attrition client en Python

Aire sous la courbe

from sklearn.metrics import roc_auc_score

auc = roc_auc_score(y_test, y_pred)
Marketing Analytics : prédire l’attrition client en Python

Passons à la pratique !

Marketing Analytics : prédire l’attrition client en Python

Preparing Video For Download...