Quand un modèle simple est meilleur
- Leçon 23
- 60 min
- Module 7 : Comprendre et choisir le modèle
Leçon 23 sur 27 · Apprentissage automatique : du problème à un modèle fiableQuand un modèle simple est meilleur
1. Comprendre l'apprentissage automatique
2. Cadrer le problème de prédiction
3. Évaluer les modèles supervisés
4. Créer les premiers modèles
5. Essayer d'autres familles de modèles
6. Régler et finaliser le modèle
7. Comprendre et choisir le modèle
8. Préparer la passation du modèle
Ce que vous saurez faire
Choisissez un modèle que les gens peuvent lire et vérifier lorsque la décision l’exige. Utilisez un modèle complexe seulement s’il justifie sa place. Vous verrez dans quels cas les lois et les normes exigent des raisons. Vous testerez aussi ce compromis sur les données de Larkfield.
Carnet JupyterFaites cette leçon dans un carnet Jupyter
Le carnet (notebook) Jupyter contient la partie de cette leçon consacrée à Larkfield, avec des vérifications. Il compare le score à points à deux modèles entraînés, explique un billet de soutien de trois façons et teste de petits jeux de données. Ses cellules de configuration téléchargent les données et le fichier ticket_model.py du cours. Vous n’avez donc rien à configurer localement. Les cas réels et leurs sources se trouvent sur cette page.
Le carnet est en anglais. Colab et Kaggle ouvrent votre propre copie. Il faut un compte Google ou Kaggle gratuit. Vous êtes bloqué ? Consultez le carnet de solution.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
- Les contributions d’un billet en régression logistique, et pourquoi elles ne sont pas des causes, dans Expliquer les prédictions.
- Ce qu’est le gradient boosting (renforcement par gradient) et ce que coûte un modèle complexe, dans Les méthodes d’ensemble : le coût de la complexité.
- La règle d’une erreur standard, dans Régler les hyperparamètres : la règle d’une erreur-type.
- Le score à points, une liste de vérification qui attribue des points à chaque billet, dans Les métriques de classification et Le compromis entre précision et rappel.
- Le seuil de capacité (signaler au plus 20 % des billets), dans Seuils et calibration.
Ce qu’il vous faut sur votre ordinateur (seulement pour le parcours local; le carnet n’en a pas besoin)
- Le dossier de projet
~/projects/ticket-model, avec son environnement.venvet les données dansdata/. Vous les avez créés dans Définir une référence de base : préparer votre projet. Sipython -c "import sklearn"échoue, activez de nouveau.venv(source .venv/bin/activatesur macOS et Linux,.venv\Scripts\Activate.ps1sur Windows). Si un fichier de données manque ou a changé, exécutezpython get_data.py --reset. ticket_model.pydans sa version finale, avec 11 variables. Vous l’avez écrit dans Prétraiter avec un pipeline : écrire ticket_model.py et ajoutéprior_escalations_90ddans Sélectionner les caractéristiques utiles : modifier ticket_model.py. S’il manque ou ne fonctionne plus, téléchargez la copie du cours :curl -fsSL -O https://raw.githubusercontent.com/Nextia-Intelligence/nextia-learning-labs/main/C05/project/ticket_model.py(curl.exesur Windows).- Un carnet dans le dossier du projet, dans VS Code ou JupyterLab, comme dans Définir une référence de base : ouvrir un carnet dans VS Code.
Testé sur macOS avec Python 3.14.6, pandas 3.0.6 et scikit-learn 1.9.1. Les commandes Windows n’ont pas été testées. Le carnet a été testé dans Jupyter.
« Pourquoi ma demande a-t-elle été refusée? »
Section intitulée « « Pourquoi ma demande a-t-elle été refusée? » »Sara demande en ligne un petit prêt pour réparer sa voiture. Après dix secondes, l’écran affiche : « Votre demande n’a pas été approuvée. » Elle appelle la banque et pose la question évidente : « Pourquoi? »
Imaginez deux banques. À la première, l’agent lit une fiche : « Notre système attribue des points. Vous avez obtenu 41 points, et il en faut 50. Vous avez perdu le plus de points pour trois paiements en retard l’an dernier. Votre solde de carte proche de sa limite vous a aussi fait perdre beaucoup de points. » Sara sait maintenant ce qui s’est passé. Elle peut le vérifier. Si les retards de paiement concernent une autre personne du même nom, elle peut demander une correction. S’ils sont les siens, elle sait quoi changer avant de présenter une nouvelle demande.
À la deuxième banque, l’agent dit : « Un modèle avec 400 arbres de décision vous a donné un score de 0,27. Je ne peux rien vous dire de plus. » Personne à la banque ne peut dire quels faits concernant Sara ont compté. Sara ne peut rien vérifier ni faire corriger une erreur.
Les deux banques peuvent avoir la même exactitude. Mais seule la première peut répondre à la question « pourquoi? ». Cette leçon porte sur cette différence : quand elle compte, ce que la loi en dit et ce qu’elle coûte.
Modèles simples, lisibles et complexes
Section intitulée « Modèles simples, lisibles et complexes »Dans cette leçon, un modèle simple est un modèle qu’une personne peut lire entièrement et utiliser pour expliquer chaque décision. Vous en avez rencontré trois :
- un score à points : une liste de vérification qui ajoute des points fixes pour chaque fait (la fiche de la banque de Sara, ou le score à points des billets dans Les métriques de classification);
- la régression logistique : une somme pondérée où le score de chaque billet se décompose exactement en contributions, comme dans Expliquer les prédictions;
- un petit arbre de décision : quelques questions oui/non que vous pouvez dessiner sur une page.
Un modèle complexe, comme le gradient boosting avec 100 arbres ou une forêt aléatoire, additionne de nombreuses petites parties. Chaque partie est simple, mais l’ensemble en contient trop pour être lu. Vous pouvez quand même étudier un modèle complexe avec des outils supplémentaires, comme l’importance par permutation ou des questions « et si? ». Ces outils décrivent le modèle de l’extérieur. Ils sont utiles, mais ils ne sont pas le modèle lui-même et peuvent le contredire.
On appelle les premiers des modèles interprétables, et les outils supplémentaires des méthodes d’explication. Cette différence compte surtout lorsqu’une personne extérieure à l’équipe doit faire confiance à une décision. Il peut s’agir de la personne touchée, des personnes qui l’utilisent chaque jour ou d’une personne chargée de la vérifier.
Un score à points sur six billets
Section intitulée « Un score à points sur six billets »Avant d’aborder la loi, revoyons comment fonctionne un score à points. Vous avez découvert celui de Larkfield dans Les métriques de classification. Il attribue des points à chaque billet selon trois faits :
- priorité 1 : +2 points;
- équipe de paiement ou de garantie : +1 point;
- au moins une escalade pour le même client au cours des 90 derniers jours : +1 point.
Voici six billets fictifs. Additionnez les points à la main avant de lire la sortie.
def points(df): """The points score: a checklist that a person can add up by hand.""" return (2 * (df["priority"] == 1) + df["team"].isin(["payment", "warranty"]).astype(int) + (df["prior_escalations_90d"] >= 1).astype(int))
tiny = pd.DataFrame({"priority": [1, 1, 2, 3, 2, 3], "team": ["payment", "delivery", "warranty", "returns", "payment", "account"], "prior_escalations_90d": [1, 0, 2, 0, 0, 1]}, index=list("ABCDEF"))tiny["points"] = points(tiny)tinyLa sortie :
priority team prior_escalations_90d pointsA 1 payment 1 4B 1 delivery 0 2C 2 warranty 2 2D 3 returns 0 0E 2 payment 0 1F 3 account 1 1Le billet A obtient 2 + 1 + 1 = 4 points. Le billet C n’est pas urgent, mais concerne la garantie et vient d’un client ayant déjà eu des escalades : 0 + 1 + 1 = 2 points. Chaque point a une raison que vous pouvez énoncer en une phrase. Si Omar demande « pourquoi le billet A a-t-il 4 points? », la réponse est le modèle complet, pas son résumé.
Les règles ne sont pas des suppositions. Comme l’a montré la leçon Les métriques de classification, chacune vient des données d’entraînement. Les billets de priorité 1 passent en escalade dans 29,1 % des cas, contre 8,9 % pour les autres. La priorité 1 reçoit donc 2 points. Les billets de paiement et de garantie passent en escalade dans 18,5 % des cas, contre 8,9 %. Ceux des clients ayant déjà eu une escalade passent en escalade dans 14,8 % des cas, contre 9,1 %. Chacune de ces règles reçoit donc 1 point. Il faut ensuite tester un vrai score à points sur de nouvelles données, comme Priya le fait plus bas.
Quand un modèle simple est exigé ou plus judicieux
Section intitulée « Quand un modèle simple est exigé ou plus judicieux »De nombreuses organisations prennent des décisions concernant des personnes : qui obtient un prêt, une entrevue d’embauche, un tarif d’assurance ou l’attention d’un médecin en premier. Dans ces domaines, les lois, les autorités de surveillance et les normes professionnelles exigent des raisons, une révision humaine ou des modèles vérifiables. Les cinq cas ci-dessous sont réels. Chacun présente les exigences de la règle ou de la norme, et indique où la consulter.
Décisions de crédit aux États-Unis
Section intitulée « Décisions de crédit aux États-Unis »Le cas de Sara est l’exemple principal. Aux États-Unis, l’Equal Credit Opportunity Act et son Regulation B s’appliquent lorsqu’un prêteur refuse du crédit. L’article 1002.9 exige que le demandeur reçoive un énoncé des raisons. Cet énoncé doit être « précis et indiquer la ou les principales raisons de la décision défavorable ». Il précise aussi qu’une déclaration ne suffit pas : le demandeur « n’a pas atteint un score admissible dans le système de notation de crédit du créancier ». L’interprétation officielle du Regulation B ajoute que les raisons doivent « se rapporter aux facteurs réellement considérés ou notés » par le prêteur et « les décrire avec exactitude ».
Un prêteur doit donc pouvoir nommer les principaux faits qui ont mené au refus de chaque demandeur. Avec une grille de notation à points, ces faits correspondent aux lignes où le demandeur a perdu le plus de points. C’est une raison pour laquelle de nombreux prêteurs utilisent des grilles de notation et la régression logistique. En 2022, le Consumer Financial Protection Bureau (CFPB) a publié une circulaire précisant qu’un algorithme complexe ne supprime pas cette obligation. Le CFPB a retiré cette circulaire en mai 2025, avec de nombreux autres documents d’orientation. Le retrait a supprimé les lignes directrices; le texte de l’article 1002.9 que nous citons ici n’a pas changé.
Décisions automatisées dans l’Union européenne
Section intitulée « Décisions automatisées dans l’Union européenne »Le Règlement général sur la protection des données (RGPD) donne aux personnes dans l’UE des droits concernant les décisions automatisées. L’article 22 donne à une personne « le droit de ne pas faire l’objet d’une décision fondée exclusivement sur un traitement automatisé ». Cela s’applique lorsque la décision a des effets juridiques ou « l’affecte de manière significative de façon similaire ». Il existe trois exceptions : la décision est nécessaire à un contrat, une loi l’autorise ou la personne donne son consentement explicite. Pour un contrat ou un consentement, l’organisation doit offrir au moins trois droits : obtenir une intervention humaine, exprimer son point de vue et contester la décision. Les articles 13, 14 et 15 ajoutent un droit à des « informations utiles concernant la logique sous-jacente » de ces décisions.
En décembre 2023, la Cour de justice de l’UE a appliqué l’article 22 aux scores de crédit. Dans l’affaire SCHUFA (C-634/21), elle a jugé que le score d’une agence de crédit constitue une décision automatisée lorsqu’une banque lui attribue « un rôle déterminant » dans l’octroi du crédit. Le 19 novembre 2025, la Commission européenne a proposé des changements au RGPD, notamment à l’article 22. Au moment de notre vérification, cette proposition n’avait pas encore force de loi.
Le Règlement sur l’intelligence artificielle de l’UE (règlement (UE) 2024/1689) ajoute des règles pour les systèmes d’IA qu’il qualifie de systèmes à haut risque. Son annexe III en énumère plusieurs types. Parmi eux figurent les systèmes qui évaluent la solvabilité ou le score de crédit d’une personne. Elle comprend aussi les systèmes d’évaluation des risques et de tarification en assurance vie et maladie. Les systèmes utilisés pour recruter ou sélectionner des personnes pour des emplois figurent aussi dans la liste. Pour les systèmes à haut risque, l’article 13 exige de la transparence pour les déployeurs, les organisations qui utilisent le système. Ils doivent pouvoir « interpréter les sorties d’un système et les utiliser de manière appropriée ». L’article 14 exige un contrôle humain efficace. L’article 86 donne à une personne touchée un droit à des explications. Elles doivent être « claires et pertinentes concernant le rôle du système d’IA » et « les principaux éléments de la décision prise ». En juillet 2026, l’UE a reporté la date. Les exigences pour ces systèmes à haut risque, dont les articles 13 et 14, s’appliquent maintenant à partir du 2 décembre 2027.
Gestion du risque de modèle dans les banques
Section intitulée « Gestion du risque de modèle dans les banques »Les banques utilisent des modèles pour les prêts, le capital et la fraude. Un mauvais modèle peut leur faire perdre beaucoup d’argent. Les autorités américaines de surveillance bancaire publient des lignes directrices sur la gestion du risque de modèle : comment une banque développe, vérifie et utilise ses modèles. Pendant quinze ans, le texte principal était SR 11-7 (2011). Le 17 avril 2026, la Federal Reserve, l’OCC et la FDIC l’ont remplacé par de nouvelles lignes directrices, SR 26-2. Elles indiquent que le risque inhérent d’un modèle « augmente avec sa complexité ». Elles précisent que la rigueur des tests doit correspondre à la complexité et à l’importance du modèle. Elles nomment aussi les « mesures d’interprétabilité » comme un moyen de vérifier la solidité conceptuelle d’un modèle.
Ces lignes directrices ne sont pas une loi et n’interdisent pas les modèles complexes. Mais leur message pour les personnes qui construisent des modèles est clair. Chaque élément de complexité supplémentaire ajoute du travail aux personnes qui testent, valident et surveillent le modèle. Un modèle lisible par la personne qui le valide coûte moins cher à approuver et présente moins de risques.
Scores d’alerte précoce dans les hôpitaux
Section intitulée « Scores d’alerte précoce dans les hôpitaux »Dans de nombreux hôpitaux d’Angleterre, le personnel infirmier calcule un National Early Warning Score (NEWS2) pour chaque patient adulte, plusieurs fois par jour. Le Royal College of Physicians le publie. NHS England l’a approuvé comme système d’alerte précoce pour les patients hospitalisés atteints d’une maladie aiguë. Le personnel infirmier mesure six éléments, comme la fréquence respiratoire, le taux d’oxygène et le pouls. Il attribue à chacun de 0 à 3 points. Un patient qui a besoin d’oxygène supplémentaire reçoit 2 points de plus. Un total de 5 ou 6 est le seuil clé pour une intervention urgente. Un total de 7 ou plus exige une intervention urgente ou d’urgence par une équipe compétente en soins intensifs.
Aucune loi n’impose ici un score à points. C’est un choix plus judicieux. Une infirmière ou un infirmier peut calculer NEWS2 au chevet du patient, sans ordinateur, en une minute. Le personnel infirmier et les médecins peuvent voir pourquoi le score est élevé, vérifier chaque mesure et appliquer la même règle. C’est le type de confiance dont un modèle a besoin quand des vies dépendent d’une décision rapide et commune.
Tarifs d’assurance avec des modèles linéaires généralisés
Section intitulée « Tarifs d’assurance avec des modèles linéaires généralisés »Les assureurs automobiles et habitation fixent leurs tarifs à l’aide de modèles. Aux États-Unis, les organismes de réglementation des États examinent les dépôts de tarifs. La National Association of Insurance Commissioners (NAIC) a rédigé un livre blanc sur la façon d’examiner ces modèles (adopté en 2020 et 2021). Il indique que le modèle linéaire généralisé (GLM) « est un modèle prédictif couramment utilisé dans les applications d’assurance ». En statistique, les GLM forment la famille qui comprend les régressions linéaire et logistique. (Le document classe lui-même la régression logistique parmi les méthodes plus complexes. Ses propos sur les GLM concernent donc les plans de tarification.) Le document indique que les GLM « sont relativement transparents ». Il précise que les méthodes plus complexes rendent la surveillance réglementaire « encore plus difficile ». Il demande aux organismes de réglementation « d’examiner en profondeur tous les aspects du modèle », y compris ses variables.
Un assureur qui dépose un GLM peut montrer à l’organisme de réglementation chaque facteur et son effet sur le tarif. Un assureur qui dépose un modèle complexe doit expliquer bien plus de choses, et l’examen prend plus de temps.
Ce que ces règles ont en commun
Section intitulée « Ce que ces règles ont en commun »Aucune de ces sources n’interdit les modèles complexes. Elles demandent trois choses : les raisons d’une décision, un moyen de la réviser ou de la contester, et des modèles compréhensibles pour la personne qui les vérifie. Un modèle simple rend chacune de ces obligations plus facile et plus fiable, parce que l’explication est le modèle lui-même. Le tableau résume les cinq cas.
| Domaine | Source | Ce qu’elle exige | Pourquoi un modèle simple aide |
|---|---|---|---|
| Crédit, États-Unis | Regulation B, article 1002.9 | Les principales raisons précises d’un refus | Les raisons de chaque refus sont les points ou les contributions perdus |
| Décisions automatisées, UE | RGPD, articles 22, 13 à 15 | Intervention humaine, droit de contester, informations utiles sur la logique | Une personne peut réviser et expliquer la décision |
| IA à haut risque, UE | Règlement sur l’intelligence artificielle, annexe III; articles 13, 14, 86 | Sortie interprétable, contrôle humain, explications des principaux éléments | Les principaux éléments sont visibles dans le modèle |
| Banques, États-Unis | SR 26-2 (a remplacé SR 11-7 en 2026) | Tests et validation qui augmentent avec la complexité | Moins d’éléments à valider, plus facile à remettre en question |
| Hôpitaux, Angleterre | NEWS2 | Un score que tout le personnel infirmier calcule et utilise pour agir | Calculé à la main, vérifié au chevet du patient |
| Tarifs d’assurance, États-Unis | Livre blanc de la NAIC | Les organismes de réglementation examinent tous les aspects du modèle | Les facteurs du GLM peuvent être lus un à un |
Ces sources mènent à deux types de travail différents. Le premier est un contrôle : quelque chose qu’un ingénieur peut construire et montrer. Par exemple, une liste de raisons pour chaque décision, un registre de tous les scores, une fiche de modèle ou une étape de révision humaine d’un refus. Le deuxième est une conclusion, comme « ce système respecte l’article 22 » ou « ces raisons satisfont au Regulation B ». Une conclusion exige un examen qualifié par des juristes ou des spécialistes de la conformité, pour le système et le pays concernés. Comme personne qui construit le modèle, vous fournissez les contrôles et les preuves. Vous ne rédigez pas la conclusion.
Des raisons sans lien avec la loi
Section intitulée « Des raisons sans lien avec la loi »Le modèle d’escalade de Larkfield ne décide rien concernant l’argent ou les droits d’un client. Il place seulement un billet de soutien dans une file plus rapide. Aucune règle ci-dessus ne s’y applique. Priya a tout de même choisi la régression logistique dans Régler les hyperparamètres. Les autres raisons de choisir un modèle simple s’appliquent à presque toutes les équipes.
Peu de données
Section intitulée « Peu de données »Un modèle flexible a beaucoup d’éléments à apprendre, comme des centaines de divisions dans ses arbres. Avec peu d’exemples, il apprend le bruit comme si c’était un motif. C’est le surapprentissage, comme l’élève qui mémorise les exercices pratiques. Un modèle simple a peu d’éléments, donc il a besoin de moins d’exemples.
Priya fait le test. Elle entraîne les deux modèles sur des échantillons aléatoires des données d’entraînement, de 250 à 8 000 billets. Elle utilise cinq échantillons de chaque taille. Puis elle mesure la précision moyenne (AP) sur les données de mai.
- Régression logistique
- Boosting, réglé (profondeur 2)
- Boosting, paramètres par défaut
- Score à points (sans entraînement)
Description textuelle du graphique
Un graphique en courbes. L’axe horizontal représente le nombre de billets d’entraînement, qui double à chaque étape : de 250 à 8 000, puis les 16 939 billets. L’axe vertical représente la précision moyenne en mai. Régression logistique : 0,315, 0,345, 0,366, 0,381, 0,385, 0,387, 0,391. Boosting réglé : 0,273, 0,312, 0,333, 0,369, 0,384, 0,397, 0,395. Boosting avec les paramètres par défaut : 0,256, 0,275, 0,304, 0,320, 0,342, 0,357, 0,398. Le score à points reste à 0,310. La régression logistique est meilleure jusqu’à 2 000 billets; à partir de 4 000 billets, les courbes se rejoignent.
Avec 250 à 2 000 billets, la régression logistique est nettement meilleure. Avec 250 billets, le boosting avec ses paramètres par défaut (0,256) fait moins bien que le score à points (0,310). Le score à points n’a pourtant rien appris de ces billets. Les courbes se rejoignent seulement à partir d’environ 4 000 billets. Beaucoup de projets réels commencent avec peu de données : un nouveau produit, un événement rare, une petite boutique.
Vitesse, taille et coût
Section intitulée « Vitesse, taille et coût »La régression logistique finale a 28 coefficients et une constante; enregistrée avec joblib, elle occupe environ 5 Ko. Le modèle de boosting (renforcement) réglé a 100 arbres avec 400 feuilles, soit environ 74 Ko. Les deux sont petits et rapides sur les données de Larkfield. Mais la différence augmente avec les données. Un grand modèle de boosting ou un réseau profond peut nécessiter du matériel spécialisé. Chaque prédiction coûte du temps et de l’argent. Un score à points nécessite un crayon.
Débogage et surveillance
Section intitulée « Débogage et surveillance »Quand un modèle simple se trompe, vous pouvez trouver pourquoi. Dans L’analyse par sous-groupes, les billets de garantie ont connu plus d’escalades après le changement de politique du 1er mai. Avec la régression logistique, un coefficient (team_warranty, +0,28) montre comment le modèle traite la garantie. Vous pouvez le comparer au nouveau taux. Avec 100 arbres, l’effet de la garantie se répartit entre plusieurs divisions, mêlé à d’autres caractéristiques. C’est pareil pour la surveillance après le lancement. Un changement dans un coefficient ou une règle est facile à voir et à expliquer.
Stabilité dans le temps
Section intitulée « Stabilité dans le temps »Un modèle simple change peu quand vous le réentraînez sur de nouvelles données. Chacun de ses quelques éléments est appris à partir de nombreux exemples. Un modèle flexible peut modifier plusieurs divisions après un petit changement dans les données. Un seul arbre profond l’a fait dans Les méthodes d’ensemble. Les personnes qui utilisent les scores font plus facilement confiance à un modèle qui se comporte pareil le mois suivant.
Confiance et adoption
Section intitulée « Confiance et adoption »Un modèle est utile seulement si les gens agissent selon ses résultats. Les agents expérimentés de Grace examineront les billets signalés. Supposons qu’un signalement indique « priorité 1, équipe des paiements, une escalade antérieure ». L’agent voit alors immédiatement pourquoi le billet est là. Il peut aussi contester le signalement s’il semble incorrect. Un signalement qui indique seulement « 0,41 » incite l’agent à l’ignorer. Omar ajoute : « Si les agents ignorent les signalements, le rappel du modèle sur papier ne veut rien dire. »
Passation
Section intitulée « Passation »Dans le module 8, Priya transmet le modèle à une autre équipe. Un modèle simple est plus facile à transmettre. Sa fiche de modèle peut énumérer chaque coefficient, et une nouvelle personne peut le comprendre en une heure. Moins de choses risquent de briser quand un paquet change.
Larkfield : trois modèles à la même capacité
Section intitulée « Larkfield : trois modèles à la même capacité »Passons aux preuves. Priya compare trois modèles sur les données de mai, selon la même règle que dans Seuils et calibration. Elle utilise le seuil le plus bas qui limite les signalements à 20 % des billets. Un score à points n’a que des nombres entiers, donc ses seuils vont de 0 à 5.
D’abord, elle vérifie que le score à points classe les billets de mai. La fonction points est celle des six billets ci-dessus.
valid["points"] = points(valid)valid.groupby("points")[TARGET].agg(["size", "sum", "mean"]).round(3)La sortie :
size sum meanpoints0 320 17 0.0531 532 63 0.1182 211 50 0.2373 84 35 0.4174 32 18 0.562Le taux d’escalade (mean, moyenne) augmente avec chaque point : de 5,3 % sans point à 56,2 % avec 4 points. Une liste de vérification de trois lignes classe déjà les billets.
Puis elle entraîne la régression logistique (le modèle final) et le boosting par gradient avec les meilleurs paramètres de la recherche. Le taux d’apprentissage est de 0,1 et la profondeur, de 2. Avant de lire la sortie, faites une prédiction : quel modèle détecte le plus d’escalades à cette capacité, et combien de plus?
from sklearn.ensemble import HistGradientBoostingClassifier
logistic = build_pipeline().fit(train[FEATURES], train[TARGET])boosting = build_pipeline(HistGradientBoostingClassifier(max_depth=2, learning_rate=0.1, random_state=0))boosting.fit(train[FEATURES], train[TARGET])scores = {"points": valid["points"], "logistic": logistic.predict_proba(valid[FEATURES])[:, 1], "boosting": boosting.predict_proba(valid[FEATURES])[:, 1]}def at_capacity(name, score, steps, capacity=0.20): """Flag with the lowest threshold that flags at most `capacity`, and print the result.""" threshold = next(t for t in steps if (score >= t).mean() <= capacity) flags = score >= threshold caught = int((flags & (valid[TARGET] == 1)).sum()) print(f"{name:9s} threshold {threshold:<5} flagged {flags.mean():.1%} caught {caught}" f" precision {caught / flags.sum():.3f} recall {caught / valid[TARGET].sum():.3f}")
at_capacity("points", scores["points"], [0, 1, 2, 3, 4, 5])steps = [s / 100 for s in range(1, 100)]at_capacity("logistic", scores["logistic"], steps)at_capacity("boosting", scores["boosting"], steps)La sortie :
points threshold 3 flagged 9.8% caught 53 precision 0.457 recall 0.290logistic threshold 0.19 flagged 19.3% caught 86 precision 0.379 recall 0.470boosting threshold 0.18 flagged 19.1% caught 86 precision 0.382 recall 0.470Lisez-la en trois étapes.
- La régression logistique et le boosting détectent les mêmes 86 escalades sur 183. La précision du boosting est supérieure de 0,003, car il signale deux billets de moins. Pour la décision qui compte pour Grace, les deux modèles sont à égalité.
- Le score à points signale seulement 9,8 % des billets. Il y a 116 billets avec 3 points ou plus. Avec 2 points ou plus, il y en a 327, soit 27,7 %, au-delà de la capacité. Un score avec seulement cinq valeurs ne peut pas s’arrêter à 20 %. C’est un coût réel d’une liste de vérification peu détaillée.
- Une règle de départage corrige presque tout. Supposons que l’équipe de Grace examine tous les billets avec 3 ou 4 points. Elle examine ensuite ceux avec 2 points par ordre d’arrivée, tant qu’il reste de la place. Le score à points signale alors 235 billets (19,9 %) et détecte 84 escalades, pour un rappel de 0,459. Le carnet (notebook) Jupyter exécute cette règle. C’est deux escalades de moins que les modèles entraînés, avec une liste qu’un nouvel agent apprend en une minute.
Sur l’ensemble des seuils, la précision moyenne raconte la même histoire : points 0,310, régression logistique 0,391, boosting 0,395. L’écart entre les deux derniers est de 0,004. Dans Régler les hyperparamètres, la validation croisée donnait un écart de 0,0031 (0,3424 pour le boosting, 0,3393 pour la régression logistique). Une erreur-type valait 0,008. L’écart est plus petit que le bruit, donc ce n’est pas une différence.
Description textuelle du graphique
Un graphique à colonnes du rappel en mai, avec au plus 20 % des billets signalés. La règle « signaler la priorité 1 » : 0,33 (61 escalades détectées, 13,8 % de billets signalés). Score à points, 3 points ou plus (« pts 3+ ») : 0,29 (53 détectées, 9,8 % signalés). Score à points avec la règle de départage (« pts + départage ») : 0,46 (84 détectées, 19,9 % signalés). Régression logistique : 0,47 (86 détectées, 19,3 % signalés). Boosting réglé : 0,47 (86 détectées, 19,1 % signalés).
Tomás n’est pas convaincu : « Le boosting a une AP plus élevée. Plus élevée, c’est mieux. » Priya répond avec la question de Les méthodes d’ensemble : « Le gain dépasse-t-il le bruit, et vaut-il le coût? » Ici, le gain est de 0,004 en AP et de zéro escalade à la capacité. Le coût, c’est un modèle que personne ne peut lire.
Un billet, trois explications
Section intitulée « Un billet, trois explications »Omar pose une question sur T-117014, un billet de paiement de priorité 1, reçu par téléphone, qui a connu une escalade. « Pourquoi a-t-il été signalé? » Priya montre ce que chaque modèle peut dire.
def point_reasons(ticket): """The points of one ticket, line by line.""" row = ticket.iloc[0] return {"priority 1 (+2)": 2 * int(row["priority"] == 1), "payment or warranty (+1)": int(row["team"] in ("payment", "warranty")), "an escalation in the last 90 days (+1)": int(row["prior_escalations_90d"] >= 1)}
ticket = valid[valid["ticket_id"] == "T-117014"]print(point_reasons(ticket))print("logistic score:", round(logistic.predict_proba(ticket[FEATURES])[0, 1], 3))print("boosting score:", round(boosting.predict_proba(ticket[FEATURES])[0, 1], 3), "from", boosting.named_steps["model"].n_iter_, "trees")La sortie :
{'priority 1 (+2)': 2, 'payment or warranty (+1)': 1, 'an escalation in the last 90 days (+1)': 1}logistic score: 0.38boosting score: 0.409 from 100 trees- Le score à points donne la raison complète : 2 points pour la priorité 1, 1 pour l’équipe des paiements, 1 pour l’escalade antérieure. Quatre points, donc le billet est signalé. Rien n’est caché, et Omar peut vérifier chaque ligne dans le billet.
- La régression logistique donne des contributions exactes, comme dans Expliquer les prédictions. La priorité 1 ajoute +1,23 à la somme, et l’équipe des paiements, +0,38. Le canal téléphonique ajoute +0,23, et le segment résidentiel retire 0,71. Avec la constante, ces contributions donnent exactement la somme qui produit le score de 0,380. Elles se comparent à un billet moyen et décrivent le modèle, pas la cause.
- Le boosting donne 0,409 à partir de 100 arbres. scikit-learn n’offre aucune méthode exacte pour décomposer ce nombre en raisons. Priya peut poser des questions « et si? », une à la fois. Avec la priorité 3 au lieu de 1, le boosting donne 0,095, et la régression logistique donne 0,092. Chaque réponse est utile. Mais les réponses ne s’additionnent pas pour donner le score, et Omar doit savoir quelles questions poser.
D’autres bibliothèques peuvent estimer une contribution pour chaque caractéristique d’un modèle de boosting. Ces estimations forment un deuxième modèle du premier. Elles peuvent être bonnes, mais la personne qui révise doit maintenant faire confiance à deux choses plutôt qu’à une.
Quand un modèle complexe vaut le coût
Section intitulée « Quand un modèle complexe vaut le coût »Un modèle simple n’est pas toujours meilleur. Tomás a raison dans plusieurs situations, et un bon scientifique des données les connaît :
- Les entrées sont des images, du texte ou du son. Une photo contient des millions de valeurs de pixels, et aucun pixel seul ne signifie quoi que ce soit. Aucun score à points ne peut lire une photo ou une phrase. Les réseaux de neurones sont le bon outil ici. Le prochain cours, L’apprentissage profond et les transformeurs expliqués, les présente.
- Les données sont nombreuses et le motif présente de fortes interactions. Pensez à des millions de lignes et à un motif comme « cette caractéristique compte seulement quand celle-là est élevée ». Un modèle complexe peut trouver ce qu’une somme pondérée ne peut pas trouver. Le motif de Larkfield est surtout additif : chaque fait ajoute ou retire un peu de risque. C’est pourquoi le boosting arrive seulement à égalité ici.
- Le gain dépasse nettement le bruit, et il compte. Par exemple, un modèle de fraude qui détecte beaucoup plus de fraudes sur les données de validation. La différence atteint plusieurs erreurs-types.
- Les erreurs coûtent peu ou une personne les vérifie, et personne n’a besoin de raisons. Les recommandations de films, l’ordre des résultats de recherche ou un brouillon qu’une personne vérifie avant l’envoi.
Même alors, gardez le modèle simple comme banc d’essai : entraînez-le d’abord et présentez ses résultats à côté du modèle complexe. Si le modèle complexe est seulement un peu meilleur, vous connaissez le prix de sa complexité. S’il est beaucoup meilleur, cherchez pourquoi. Souvent, il a trouvé une interaction que vous pouvez ajouter au modèle simple.
Une liste de vérification pour décider
Section intitulée « Une liste de vérification pour décider »Les questions de cette leçon tiennent dans une seule liste de vérification. Utilisez-la avant de choisir un modèle final et écrivez les réponses dans la fiche de modèle.
Description textuelle du diagramme
- Commencez par le modèle le plus simple qui pourrait atteindre l’objectif, comme un score à points ou une régression logistique.
- Une personne doit-elle obtenir des raisons, ou quelqu’un doit-il vérifier le modèle? Si oui, préférez un modèle dont les raisons sont exactes. Demandez une révision juridique ou de conformité par une personne qualifiée.
- Les entrées sont-elles des images, du texte ou du son? Si oui, un modèle complexe est généralement nécessaire.
- Un modèle complexe gagne-t-il par plus d’une erreur-type? Sinon, gardez le modèle simple.
- Le gain vaut-il le coût : temps d’entraînement et de prédiction, taille, surveillance, explications et passation? Sinon, gardez le modèle simple. Si oui, utilisez le modèle complexe, notez pourquoi et gardez le modèle simple comme banc d’essai.
Exercice guidé : la note de Priya sur le choix du modèle
Section intitulée « Exercice guidé : la note de Priya sur le choix du modèle »Priya doit écrire deux à cinq phrases dans la fiche de modèle de Larkfield. Elles doivent indiquer quel modèle l’équipe garde et pourquoi. Faites la même chose avec les preuves de cette leçon.
- Exécutez le carnet jusqu’à la section 3, pour que
scoresetat_capacity()existent. - Exécutez la comparaison à la capacité. Vous devriez voir 86 escalades détectées pour la régression logistique et le boosting.
- Calculez l’écart de validation croisée de Régler les hyperparamètres : 0,3424 − 0,3393. Vous devriez obtenir 0,0031.
- Comparez l’écart à une erreur-type, soit 0,0080. Vous devriez voir que l’écart est plus petit.
- Répondez à chaque question de la liste pour Larkfield, en une ligne par question.
- Écrivez la note : le modèle que vous gardez, les preuves et ce que le modèle complexe coûterait.
Afficher un exemple de réponse
La liste de vérification pour Larkfield : aucun client ne reçoit de décision concernant son argent ou ses droits. Mais les agents de Grace doivent voir pourquoi un billet est dans leur file. Question 1 : les raisons aident; aucune obligation légale trouvée. Les entrées sont des colonnes de tableau, pas des images ou du texte (question 2 : non). Le boosting gagne par 0,0031 en AP de validation croisée, moins qu’une erreur-type de 0,008. Il détecte les mêmes 86 escalades à la capacité (question 3 : non). La liste s’arrête donc ici : gardez le modèle simple.
La note de Priya : « Nous gardons la régression logistique avec la valeur par défaut C = 1,0. Le boosting par gradient réglé a obtenu une précision moyenne de validation croisée supérieure de 0,0031, moins qu’une erreur-type (0,008). Les deux modèles détectent 86 escalades sur 183 en mai, à la capacité de 20 %. La régression logistique donne à chaque billet signalé une liste exacte de contributions que les agents peuvent lire. Ses coefficients sont faciles à surveiller après le changement de politique de garantie. Nous gardons le score à points (rappel de 0,459 avec la règle de départage) comme solution de secours sans ordinateur. »
À vous de jouer : une boutique plus petite
Section intitulée « À vous de jouer : une boutique plus petite »Changez une condition : la quantité de données. Imaginez une boutique plus petite avec seulement 500 billets étiquetés. Dans la section 6 du carnet, entraînez la régression logistique et le même modèle de boosting sur train.sample(500, random_state=0). Mesurez l’AP sur les données de mai. Avant l’exécution, faites une prédiction : quel modèle perd le plus?
Afficher la réponse
La régression logistique obtient 0,336, et le boosting, 0,304. Avec les 16 939 billets, leurs résultats étaient de 0,391 et 0,395. Sur 500 billets, la régression logistique perd donc 0,055 et le boosting perd 0,091, et l’ordre change. Un échantillon peut être chanceux ou malchanceux. Le graphique de Peu de données fait la moyenne de cinq échantillons de chaque taille. Il montre le même motif : 0,345 contre 0,312 à 500 billets.
La leçon : avec peu de données, un modèle simple n’est pas seulement plus facile à expliquer. Il est généralement plus exact aussi, car il a moins d’éléments à apprendre à partir de peu d’exemples.
Cas d’échec : les mêmes raisons pour tout le monde
Section intitulée « Cas d’échec : les mêmes raisons pour tout le monde »Erreur courante
L'importance globale utilisée comme raisons pour un seul billet
Symptôme : Omar veut envoyer une courte note à chaque client dont le billet de soutien est signalé : « Votre demande a été confiée à un agent principal parce que… ». Tomás propose : « Gardons le boosting (renforcement). Utilisons ses trois caractéristiques les plus importantes comme raisons. » Il calcule l’importance par permutation sur les données de mai et affiche les raisons pour deux billets :
from sklearn.inspection import permutation_importance
result = permutation_importance(boosting, valid[FEATURES], valid[TARGET], scoring="average_precision", n_repeats=5, random_state=0)top3 = pd.Series(result.importances_mean, index=FEATURES).nlargest(3).index.tolist()for ticket_id in ["T-117014", "T-117033"]: row = valid[valid["ticket_id"] == ticket_id] score = boosting.predict_proba(row[FEATURES])[0, 1] print(ticket_id, "score", round(score, 3), "| reasons:", ", ".join(top3))T-117014 score 0.409 | reasons: priority, team, word_countT-117033 score 0.032 | reasons: priority, team, word_countT-117014 est un billet de paiement de priorité 1, signalé. T-117033 est un billet de retour de priorité 3, non signalé. Ils reçoivent les trois mêmes « raisons ».
Cause : l’importance par permutation décrit l’ensemble du modèle : « le modèle dépend de la priorité ». Elle ne dit pas si la priorité de ce billet a augmenté ou diminué son score, ni de combien. Un billet reçoit donc « priorité » comme raison de son signalement, et l’autre comme raison de son absence de signalement. Ce ne sont pas des raisons qui expliquent une décision individuelle. Le règlement B met en garde contre la raison « n’a pas atteint un score suffisant », qui présente le même problème. Une raison doit dire quelque chose sur ce demandeur.
Correction : tirez les raisons d’une décision de cette décision même. Avec le score à points, ce sont les lignes qui ont donné ses points au billet. Avec la régression logistique, ce sont les plus grandes contributions de ce billet, avec leur signe, comme dans Expliquer les prédictions. Si l’équipe doit utiliser un modèle complexe, utilisez une méthode qui donne à chaque billet ses propres contributions. Vérifiez que les raisons correspondent au modèle. Demandez ensuite à une personne qualifiée pour la révision si elles respectent les règles applicables.
Conséquence dans le travail en IA : une raison identique pour tout le monde ressemble à une explication, mais n’en est pas une. Un client ne peut ni la vérifier ni la corriger. En crédit, en embauche ou en assurance, une équipe qui envoie ces raisons peut croire qu’elle respecte son obligation. Pourtant, ce n’est pas le cas. Seule une révision qualifiée peut le déterminer, mais la personne qui crée le modèle peut éviter cette erreur.
Vérification des connaissances
Section intitulée « Vérification des connaissances »Vérifiez votre compréhension
Sara se voit refuser un prêt aux États-Unis. L'avis de la banque indique : vous n'avez pas atteint le score suffisant de notre système de notation du crédit. Que dit l'article 1002.9 du règlement B sur cette déclaration, et comment une grille de pointage aide-t-elle la banque?
Afficher la réponse
L’article 1002.9 indique que l’énoncé des raisons doit être précis et présenter les principales raisons du refus. Il indique aussi que « n’a pas atteint un score suffisant » ne suffit pas. Son interprétation officielle ajoute que les raisons doivent concerner les facteurs que le prêteur a réellement considérés ou notés. Une grille de pointage aide, car les principales raisons sont visibles dans le modèle. Ce sont les lignes où Sara a perdu le plus de points, par exemple les paiements en retard. Cela décrit la règle. Une personne qualifiée doit vérifier si un avis réel la respecte, et les règles peuvent changer.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Faites une prédiction : Larkfield n'avait que 500 billets étiquetés. Selon vous, lequel donnerait la meilleure précision moyenne sur les données de validation : le boosting réglé ou la régression logistique? Utilisez les chiffres de cette leçon.
Afficher la réponse
La régression logistique. Avec 500 billets d’entraînement (moyenne de cinq échantillons), la régression logistique atteint 0,345 et le boosting réglé, 0,312. Avec un seul échantillon (random_state=0), ils obtiennent 0,336 et 0,304. Un modèle flexible a plus d’éléments à apprendre. Avec peu d’exemples, il apprend donc davantage de bruit. Les deux se rejoignent vers 4 000 billets (0,385 et 0,384). Avec les 16 939 billets, ils sont à égalité (0,391 et 0,395).
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Tomás dit : le boosting a une meilleure précision moyenne sur mai, 0,395 contre 0,391; nous devrions donc le mettre en production. Donnez deux preuves et deux coûts qui justifient de conserver la régression logistique.
Afficher la réponse
Preuves : à la capacité de 20 %, les deux modèles détectent les mêmes 86 transferts sur 183 (rappel de 0,470). En validation croisée sur les données d’entraînement, l’écart est de 0,0031, inférieur à une erreur-type (0,008). Selon la règle d’une erreur-type, ce n’est pas une différence. Coûts du boosting : il comporte 100 arbres et 400 feuilles au lieu de 28 coefficients. Il est donc plus difficile à lire, à déboguer et à surveiller, par exemple après le changement de politique de garantie. De plus, il ne peut pas donner à chaque billet signalé une liste exacte de raisons. Les agents de Grace utilisent ces raisons pour faire confiance aux signalements. Il est aussi plus volumineux (environ 74 Ko contre 5 Ko) et plus difficile à transmettre à une autre équipe.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Les lois et les directives changent; lisez leur version actuelle avant de vous y fier.
- Règlement B des États-Unis, 12 CFR 1002.9, Avis, avec son interprétation officielle (commentaires 9(b)(2)-2 et 9(b)(2)-4) : consumerfinance.gov.
- CFPB, Règles interprétatives, énoncés de politique et avis consultatifs; retrait, 90 FR 20084 (12 mai 2025), qui répertorie la circulaire 2022-03 sur les algorithmes complexes : govinfo.gov.
- RGPD, règlement (UE) 2016/679, articles 13, 14, 15 et 22 : eur-lex.europa.eu.
- Cour de justice de l’UE, communiqué de presse 186/23 sur l’affaire C-634/21, SCHUFA Holding (notation), 7 décembre 2023 : curia.europa.eu.
- Règlement de l’UE sur l’IA, règlement (UE) 2024/1689, articles 13, 14, 86 et annexe III : eur-lex.europa.eu. Les nouvelles dates dans l’omnibus numérique sur l’IA, règlement (UE) 2026/1744 du 8 juillet 2026 : eur-lex.europa.eu, et son historique dans le train législatif du Parlement européen.
- Réserve fédérale, SR 26-2, Directives révisées sur la gestion du risque de modèle, 17 avril 2026, qui remplace SR 11-7 : la lettre et les directives, qui contiennent le texte cité.
- Royal College of Physicians, Score national d’alerte précoce (NEWS) 2 : rcp.ac.uk.
- NAIC, livre blanc Examen réglementaire des modèles prédictifs : content.naic.org.
Récapitulatif
- Un modèle simple (un score à points, une régression logistique, un petit arbre) peut être lu en entier. Il peut donc expliquer chaque décision individuelle. Un modèle complexe nécessite des outils supplémentaires, qui le décrivent de l’extérieur.
- Les règles exigent des raisons et une révision, pas un type de modèle. Le règlement B des États-Unis exige les principales raisons précises d’un refus de crédit. Le RGPD donne des droits concernant les décisions automatisées. Le règlement de l’UE sur l’IA classe la notation du crédit, la tarification d’assurance vie et santé et l’embauche comme présentant un risque élevé. SR 26-2 lie le travail de validation à la complexité. NEWS2 et les modèles linéaires généralisés en assurance montrent des scores lisibles utilisés au quotidien. Ceci n’est pas un avis juridique, et les règles changent.
- Autres raisons : peu de données (avec 500 billets, régression logistique à 0,345 contre boosting à 0,312), vitesse et taille, débogage et surveillance, stabilité, confiance, passation.
- Chez Larkfield, la régression logistique et le boosting réglé détectent tous deux 86 transferts sur 183 à la capacité prévue. Leur écart en validation croisée est de 0,0031, inférieur à une erreur-type. Un score à points de trois lignes en détecte 84 avec une règle pour départager les égalités.
- Choisissez un modèle complexe pour les images, le texte et le son, ou pour beaucoup de données avec de fortes interactions. Choisissez-le aussi quand le gain dépasse clairement le bruit et justifie le coût. Gardez le modèle simple comme banc d’essai.
Ensuite, vous laissez la cible de côté : vous cherchez des groupes de clients avec k-means et demandez à Grace s’ils ont un sens. Puis vous terminez le module 7 avec l’exercice du module.
Leçon suivante : L'exploration non supervisée