prof404
← Retour aux ressources du module
Sommaire (5 sections) · 7 min
Ce que tu travailles iciMachine learningPourquoi ces compétences ?
  • BC03Machine learning. Choisir et entraîner un modèle d'apprentissage automatique, et savoir juger ce qu'il vaut.

Ce sont les compétences du titre RNCP 38616, celles sur lesquelles le jury évalue.

Lire une matrice de confusion

Un même modèle peut repérer beaucoup de cas recherchés tout en produisant trop d'alertes. Une seule mesure ne montre pas ces deux erreurs. La matrice de confusion les sépare.

Pour pratiquer, utilise une règle fixée pour cet exercice : annoncer un avis faible si le nombre maximal de mensualités d'une commande atteint six. Cette règle n'a pas été apprise par un modèle. Tu vas comparer ses réponses aux avis déjà observés dans Olist, puis changer le seuil.

1. Nommer les quatre cases

Une ligne à classer représente une commande ayant au moins un paiement et un avis. MAX retient le plus grand nombre de mensualités de ses paiements, sans les additionner. MIN retient sa note la plus basse : « avis faible » signifie ici qu'au moins un avis de la commande vaut 1 ou 2 sur 5. Chaque table est regroupée avant la jointureRapprocher deux tables sur une colonne commune, pour lire ensemble des informations qui sont stockées séparément. pour ne compter une commande qu'une fois. Les deux colonnes utilisées sont non nulles dans cette base ; les commandes sans paiement ou sans avis sont exclues par la jointure.

SQL
WITH paiements AS (
    SELECT payment_order_id AS order_id, MAX(payment_installments) AS mensualites
    FROM order_payments GROUP BY payment_order_id
),
avis AS (
    SELECT order_id, MIN(review_score) AS note
    FROM order_reviews GROUP BY order_id
),
evaluation AS (
    SELECT mensualites >= 6 AS prediction_faible, note <= 2 AS faible_reel
    FROM paiements JOIN avis USING (order_id)
)
SELECT prediction_faible, faible_reel, COUNT(*) AS commandes
FROM evaluation
GROUP BY prediction_faible, faible_reel
ORDER BY prediction_faible DESC, faible_reel DESC;

Dans les expressions vrai positifLe modèle a répondu oui, et la réalité était oui. Il a annoncé un retard qui a bien eu lieu., faux positifLe modèle a répondu oui, et la réalité était non. Une alerte pour rien, dont le coût dépend de ce que l'alerte déclenche., faux négatifLe modèle a répondu non, et la réalité était oui. Un cas manqué, un retard que personne n'a vu venir. et vrai négatifLe modèle a répondu non, et la réalité était non. Sur une population où le cas cherché est rare, cette case porte presque toutes les lignes., le premier mot indique si la prédiction est juste. Le second nomme la réponse du modèle. « Positif » désigne ici l'avis faible recherché ; il ne veut pas dire que le résultat est souhaitable. Un avis faible a une note de 1 ou 2 sur 5.

Avant d'exécuter, classe chacune de ces situations : vrai positif, faux positif, faux négatif ou vrai négatif.

  1. La règle déclenche une alerte et la commande reçoit réellement un avis faible.
  2. La règle déclenche une alerte, mais la commande reçoit un avis noté de 3 à 5.
  3. La règle ne déclenche pas d'alerte, mais la commande reçoit un avis faible.
  4. La règle ne déclenche pas d'alerte et la commande reçoit un avis noté de 3 à 5.
Vérifier après avoir classé les quatre situations
Prédiction Réalité Nom Lecture métier
oui oui vrai positif avis faible repéré
oui non faux positif alerte sans avis faible
non oui faux négatif avis faible manqué
non non vrai négatif absence d'alerte correcte

2. Calculer rappel et précision

  • Le rappel répond : parmi les avis faibles réels, quelle part a été repérée ?
  • La précision répond : parmi les alertes, quelle part était juste ?

Sur le résultat réel de la section 1, additionne d'abord les deux cases où faible_reel vaut true. C'est le dénominateur du rappel. Additionne ensuite les deux cases où prediction_faible vaut true. C'est le dénominateur de la précision. Le numérateur du rappel est le nombre d'avis faibles correctement repérés. Le numérateur de la précision est le nombre d'alertes qui correspondent réellement à un avis faible. Calcule les deux fractions dans ton éditeur ou sur papier, puis ouvre le contrôle.

Comparer les fractions et les résultats au seuil de six

La requête renvoie 2 713 vrais positifs, 13 217 faux positifs, 11 819 faux négatifs et 70 923 vrais négatifs.

  • Rappel : 2713 / (2713 + 11819) × 100, soit 18,67 %.
  • Précision : 2713 / (2713 + 13217) × 100, soit 17,03 %.

Les pourcentages sont arrondis à deux décimales. Le numérateur est le même ; les dénominateurs décrivent deux populations différentes.

S'il n'y a aucune alerte, la précision est non définie : son dénominateur vaut zéro. S'il n'y a aucun avis faible réel, c'est le rappel qui est non défini. Ne remplace pas une division impossible par une précision ou un rappel de 0 %. Les formules sont aussi décrites dans les références de scikit-learn sur la précision et le rappel.

3. Relier la mesure à l'action

Imagine qu'une alerte déclenche un appel. Un faux positif mobiliserait alors du temps sur une commande sans avis faible ; un faux négatif laisserait une commande avec avis faible hors de cette liste d'appels. Cela ne prouve ni que l'appel était inutile dans le premier cas, ni qu'il aurait évité l'avis dans le second. Il faut confirmer l'action envisagée et ses effets avant de lui attribuer un coût.

Avant de recommander un seuil, écris :

  1. ce que déclenche une alerte ;
  2. le coût d'un faux positif ;
  3. le coût d'un faux négatif ;
  4. la contrainte de capacité de l'équipe.

Une matrice compte les erreurs. Elle ne choisit pas leur coût à la place de l'entreprise. Ici, les avis sont déjà connus et la matrice porte sur toute la population retenue. Ce calcul rétrospectif ne mesure pas une performance sur un jeu de test indépendant et ne prouve pas qu'une intervention préviendrait les avis faibles.

4. Modifier un seuil et vérifier

Reprends la matrice réelle de la section 1 avec un seuil de trois mensualités au lieu de six. Prédis d'abord le sens de variation du nombre d'alertes. Calcule ensuite rappel et précision pour les deux seuils.

Si tu bloques, remplace seulement mensualites >= 6 par mensualites >= 3, puis reprends les deux fractions avec les nouveaux comptes.

Pour vérifier, la somme des quatre cases doit rester égale entre les deux seuils : la population évaluée ne change pas. Seule la réponse de la règle change.

Contrôler la modification du seuil
Seuil Vrais positifs Faux positifs Faux négatifs Vrais négatifs Alertes Rappel Précision
6 2 713 13 217 11 819 70 923 15 930 18,67 % 17,03 %
3 6 171 32 305 8 361 51 835 38 476 42,46 % 16,04 %

Les deux matrices comptent 98 672 commandes, dont 14 532 ont au moins un avis faible. Au seuil de trois, le rappel est 6171 / 14532 × 100 et la précision 6171 / 38476 × 100, arrondis à deux décimales. Davantage d'avis faibles sont repérés, mais davantage d'alertes sont produites. Ici, la précision baisse ; sa variation ne se déduit pas du seul abaissement du seuil.

5. Transférer à une autre décision

Choisis une cible oui/non de ton projet. Construis une petite matrice, nomme les deux erreurs avec les mots du métier, puis recommande la mesure à surveiller. Une autre personne doit pouvoir contester ton choix en discutant le coût d'une erreur, sans avoir à corriger tes calculs.

À la fin de la leçon

Le quiz de la leçon

Choisis une réponse, puis lis l’explication avant de continuer.

  • 6 questions
  • 3 min par question
  • Une explication après chaque réponse

Le chrono démarre à la première question. Un clic sur une réponse valide ton choix.