Évaluation des modèles : classification déséquilibrée

S’entraîner aux questions d’entretien en Machine Learning avec Python

Lisa Stuart

Data Scientist

Déséquilibre de classes

  • Variable cible catégorielle
    • Nombre d'observations par classe à peu près égal
    • Gros écart → résultats trompeurs

Classes déséquilibrées vs équilibrées

S’entraîner aux questions d’entretien en Machine Learning avec Python

Matrice de confusion

Matrice de confusion

1 https://scaryscientist.blogspot.com/2016/03/confusion-matrix.html
S’entraîner aux questions d’entretien en Machine Learning avec Python

Indicateurs de performance

Indicateurs de performance

1 https://scaryscientist.blogspot.com/2016/03/confusion-matrix.html
S’entraîner aux questions d’entretien en Machine Learning avec Python

Mesures à partir de la matrice

Indicateurs de performance

1 https://scaryscientist.blogspot.com/2016/03/confusion-matrix.html
S’entraîner aux questions d’entretien en Machine Learning avec Python

Techniques de rééchantillonnage

  • Suréchantillonner la classe minoritaire
  • Sous-échantillonner la classe majoritaire
  • NOTE : séparer en test et train AVANT le rééchantillonnage !

Techniques de rééchantillonnage

1 https://www.svds.com/learning-imbalanced-classes/
S’entraîner aux questions d’entretien en Machine Learning avec Python

Fonctions

Function renvoie
sklearn.linear_model.LogisticRegression régression logistique
sklearn.metrics.confusion_matrix(y_test,y_pred) matrice de confusion
sklearn.metrics.precision_score(y_test,y_pred) précision
sklearn.metrics.recall_score(y_test,y_pred) rappel
sklearn.metrics.f1_score(y_test,y_pred) score f1
sklearn.utils.resample(deny, n_samples=len(approve)) rééchantillonne
S’entraîner aux questions d’entretien en Machine Learning avec Python

Passons à la pratique !

S’entraîner aux questions d’entretien en Machine Learning avec Python

Preparing Video For Download...