Table of Contents

Introduction : Pourquoi le coût compte dans la classification

Les arbres de décision restent l'un des modèles d'apprentissage automatique les plus interprétables et largement déployés dans les affaires. Leur capacité à traiter les données numériques et les données catégoriques, combinées à une logique intuitive fondée sur des règles, les rend attrayants pour des applications allant de la notation de crédit à la prédiction de la cour. Les algorithmes standard d'arbre de décision, cependant, traitent toutes les erreurs de classification de façon égale. Dans la pratique, le coût d'un faux positif équivaut rarement au coût d'un faux négatif.

Les arbres décisionnels sensibles aux coûts permettent de combler directement cette lacune en intégrant une matrice de coûts dans le processus d'apprentissage, au lieu de minimiser les erreurs de classification, ils réduisent au minimum le coût total des erreurs de classification.

Comprendre les arbres décisionnels sensibles aux coûts

À son cœur, un arbre de décision sensible aux coûts modifie l'algorithme de formation de sorte que différents types d'erreurs apportent des pénalités différentes. Le modèle est construit pour favoriser les scissions qui réduisent les erreurs de classification à coût élevé, même si cela signifie augmenter les erreurs à faible coût. Les deux composantes fondamentales sont la matrice de coûts et sample pondeting.

Qu'est-ce qu'une matrice de coûts?

Une matrice de coûts définit la pénalité ou le coût associé à chaque combinaison de classes réelles et prévues. Pour un problème de classification binaire, la matrice comporte quatre entrées :

  • C(TP) = 0 – le coût d'un vrai positif (prédiction correcte) est nul.
  • C(TN) = 0 – le coût d'un vrai négatif est zéro.
  • C(FP) – coût d'un faux positif (p. ex., faussement afficher une transaction légitime).
  • C(FN) – coût d'un faux négatif (p. ex., absence d'une transaction frauduleuse).

Dans de nombreux scénarios réels, le C(FN) est beaucoup plus grand que le C(FP). Par exemple, dans le dépistage du cancer, le fait de ne pas détecter une maladie (FN) peut mettre la vie en danger, alors qu'une fausse alarme (FP) peut seulement causer une anxiété légère et des tests supplémentaires.

Comment les ponts de pondération des échantillons coûtent aux arbres

La plupart des implémentations de l'arbre de décision, y compris le paramètre de scikit-learn, acceptent un paramètre qui permet à chaque instance d'entraînement d'être affectée à un poids qui influence le calcul de la pureté des nœuds. Pour que l'arbre soit sensible aux coûts, nous attribuons des poids plus élevés aux instances qui appartiennent à des classes dont la classification erronée est coûteuse, ou directement au poids de chaque instance par le coût de la classification erronée. Une approche courante consiste à fixer le poids d'un exemple de classe i comme la somme des coûts de classification erronée pour cette classe. Par exemple, si C(FN) = 100 et C(FP) = 1, des exemples de la classe positive (ce que nous voulons le plus détecter) sont donnés en poids proportionnel à 100.

Contrairement aux techniques simples de pondération des classes qui ne permettent d'équilibrer que les tailles des classes, la pondération de l'échantillon pour la sensibilité aux coûts préserve la structure exacte des coûts d'entreprise.

Arbres de décision standard et arbre de décision sensible aux coûts

Un arbre de décision standard est un peu plus proche du classificateur optimal de Bayes en minimisant le taux d'erreur. En présence de coûts asymétriques, cela est peu souhaitable. Par exemple, il faut considérer un ensemble de données de détection de fraude où seulement 1% des transactions sont frauduleuses. Un arbre standard peut atteindre 99 % d'exactitude en prédisant simplement « légitimement » pour toutes les transactions — zéro faux positifs, mais 100% faux négatifs.

Pourquoi les applications commerciales exigent une sensibilité aux coûts

Chaque décision d'affaires comporte des conséquences asymétriques. Ignorer l'asymétrie des coûts conduit à des modèles techniquement précis mais économiquement nuisibles. Ci-dessous sont des domaines communs où les arbres décisionnels sensibles aux coûts fournissent un avantage clair.

Détection de fraudes et crimes financiers

Les coûts de détection de fraude sont très asymétriques. Un seul grand événement de fraude non détecté peut coûter des millions, tout en enquêtant sur un faux coût positif seulement le temps d'un analyste de fraude.Les arbres sensibles aux coûts peuvent être ajustés pour garder les faux négatifs extrêmement bas, même si cela signifie de contrôler de nombreuses transactions légitimes.La recherche de laFICO sur la détection de fraude sensible aux coûts démontre que minimiser le coût total au lieu du taux d'erreur peut doubler les économies nettes.

Prédiction cliente Churn

Tous les clients ne sont pas égaux. Perdre un coût d'abonné à long terme de grande valeur est bien plus que perdre un utilisateur à faible engagement. Les arbres de décision sensibles aux coûts peuvent imposer une pénalité plus élevée à défaut de prévoir la vitesse de rotation pour les segments à haute valeur CLV (valeur de vie du client).

Risque de crédit et souscription de prêts

Dans le cadre du prêt, un faux négatif (approbation d'un mauvais prêt) coûte souvent l'intégralité du principal plus la perte d'intérêts, tandis qu'un faux positif (rejetant un bon demandeur) ne coûte que la possibilité de réaliser des profits perdus.Les arbres sensibles aux coûts permettent aux prêteurs d'ajuster explicitement la limite de décision au rapport de ces coûts.La littérature académique sur la notation de crédit sensible aux coûts montre que même les arbres sensibles aux coûts simples surpassent le seuil de régression logistique.

Diagnostic médical et opérations de soins de santé

Les modèles diagnostiques qui ne sont pas conformes à une condition (FN) peuvent entraîner un retard du traitement et des résultats plus graves, alors que le surdiagnostic (FP) peut causer des procédures inutiles et de l'anxiété.

Approches de mise en œuvre

Les arbres décisionnels sensibles aux coûts peuvent être réalisés au moyen de trois stratégies générales : les ajustements de niveau de données, de niveau d'algorithme et de seuil post-hoc.

Méthodes de niveau de données: Pondération et rééchantillonnage des échantillons

La méthode la plus simple consiste à attribuer des poids d'échantillon proportionnels au coût de la classification erronée. Dans le scikit-learn, vous passez simplement un tableau à la méthode . L'arbre utilise alors ces poids dans la mesure de l'impureté (Gini ou entropie) de sorte que les fractions qui classent correctement les instances à coût élevé sont favorisées. Une alternative est de sursampler la classe à coût élevé ou sous-échantillonner la classe à coût faible, mais la pondération d'échantillon préserve la distribution originale tout en ajustant l'influence.

Méthodes au niveau de l'algorithme : critères de fractionnement modifiés

Certaines recherches modifient le critère de fractionnement lui-même pour réduire directement les coûts attendus plutôt que les impuretés. Par exemple, la variante de « taille de complexité des coûts » peut attribuer des coûts différents aux feuilles. Cependant, les modifications au niveau de l'algorithme nécessitent des implémentations personnalisées et sont moins largement soutenues dans les bibliothèques standard.

Tuning post-hoc Seuil

Après avoir formé un arbre de décision standard (ou tout classificateur probabiliste), vous pouvez ajuster le seuil de décision pour refléter les coûts. Compte tenu des probabilités, le seuil optimal est p* = C(FP) / (C(FP) + C(FN)) lorsque les antécédents de la classe sont égaux. Pour les données déséquilibrées, vous devez également incorporer des antécédents. Cette approche est simple mais ne change pas la structure de l'arbre; elle déplace seulement la limite de classification.

Guide de mise en oeuvre étape par étape

Les étapes suivantes décrivent comment mettre en œuvre un arbre de décision sensible aux coûts en utilisant Python et scikit-learn. Le flux de travail intègre les coûts d'affaires directement dans la formation modèle.

1. Définir la matrice des coûts d'entreprise

Pour la fraude, le C(FN) pourrait être le montant moyen de la transaction plus le coût de l'enquête; le C(FP) pourrait être le salaire horaire d'un analyste de la fraude temps temps examen. Pour la curn, le C(FN) pourrait être la valeur actualisée nette des revenus perdus d'un segment particulier de clients.

2. Convertir la matrice des coûts en poids d'échantillon

Pour un problème binaire, définissez le poids de la classe i comme la somme des coûts de la classification erronée de cette classe. Cependant, comme l'arbre utilise des poids de niveau instance, une méthode plus simple consiste à attribuer le poids w i = C(i, j) pour tous les cas de classe ij] est la classe cible. Par exemple, toutes les instances positives obtiennent du poids C(FN), tous les négatifs obtiennent du poids C(FP). Cela fonctionne si vous voulez que l'arbre évite les cas positifs de classification erronée plus que les négatifs.

Si l'ensemble de données est important et que les coûts varient par instance (p. ex., curn où chaque client a des CLV différents), vous pouvez attribuer des poids par instance.

3. Former l'arbre de décision avec des poids d'échantillon

from sklearn.tree import DecisionTreeClassifier

cost_FN = 500
cost_FP = 10
sample_weights = y * cost_FN + (1 - y) * cost_FP

clf = DecisionTreeClassifier(max_depth=5, random_state=42)
clf.fit(X_train, y_train, sample_weight=sample_weights)

Note : Le code ci-dessus suppose est un tableau numpy de 1s (positifs) et 0s (négatifs). Ajuster pour l'encodage réel. L'arborescence minimise maintenant l'impureté pondérée par ces coûts.

4. Évaluer en utilisant des mesures de coûts

Ne pas compter uniquement sur la précision. Calculer le coût total sur un ensemble de tests retenu : total cost = somme(erreurs de prévision * coûts respectifs). Comparez ceci avec un modèle de base (p. ex. arbre non pondéré). Visualiser la réduction des coûts à travers différents seuils. Calculer également des mesures sensibles aux coûts comme coût moyen par prédiction et rapport d'économie.

5. Hyperparamètres de tune pour coût

La profondeur des arbres, les échantillons minimums par feuille et les paramètres de taille doivent être optimisés en utilisant une fonction objective fondée sur les coûts. Utilisez la validation croisée où le score est le coût total négatif (ou les économies totales).

Mesures d'évaluation pour les modèles sensibles aux coûts

Les mesures standard comme les valeurs ASC-ROC et F1-score ne sont pas suffisantes pour les problèmes sensibles aux coûts, car elles ne tiennent pas compte de l'impact monétaire.

  • Coût total d'erreur de classement: La somme de tous les coûts par erreur sur l'ensemble de tests.
  • Ratio d'économies de coûts:[ (Coût du modèle de base – Coût du modèle sensible aux coûts) / Coût du modèle de base, ce qui montre l'amélioration financière.
  • Précision et rappel sensibles au coût :[ Précision et rappel de poids par la matrice de coûts. Par exemple, rappel pondéré par le coût = (TP * 0) / (TP*0 + FN*C(FN)) = équivalent à 1 – coût normalisé des faux négatifs.
  • Livré en termes monétaires:[ Comparez le coût par transaction ou par client entre les modèles.

Lorsqu'on présente aux intervenants commerciaux, il est toujours plus facile de justifier la performance du modèle en dollars économisés ou en revenus recouvrés. Un modèle qui réduit le coût total de 30 % au détriment de quelques fausses alarmes supplémentaires est plus facile à justifier que celui qui améliore l'ASC de 02.02.

Études de cas sur le monde réel

Détection de fraude dans un processeur de paiement

Un important processeur de paiement a mis en place des arbres décisionnels sensibles aux coûts pour la détection de fraude en temps réel. Leur modèle standard a atteint 99,8 % de la précision, mais a raté 2 % de la fraude (taux de 2 % de la FN). Chaque fraude manquée coûte en moyenne 150 $, tandis que chaque fausse positive coûte 5 $ en revue manuelle.

Conservation du client pour une Telco

Une entreprise de télécommunications a utilisé des arbres de décision sensibles aux coûts pour prédire la courbure chez les clients postpayés. Chaque client avait une CLV connue (valeur de vie du client). En pondérant chaque instance de formation par la CLV du client, le modèle s'est concentré sur les churners de haute valeur. Le résultat a été une réduction de 40 % des coûts de courbure par rapport à un modèle formé avec des poids égaux, parce que l'arbre sensible aux coûts a priorisé les campagnes de rétention pour les comptes les plus précieux.

Triage médical dans un service d'urgence

Un hôpital a appliqué des arbres décisionnels sensibles aux coûts pour prédire quels patients devraient être admis en soins intensifs dans les 24 heures. Le coût de la disparition d'un patient malade (FN) a été défini comme le coût prévu du retard du traitement et du risque potentiel de mauvaise pratique, estimé à 50 000 $. Le coût de la surtriation (FP) était le coût d'un lit d'unité de soins intensifs inutiles, soit environ 2 000 $.

Défis et solutions communs

Défi 1 : Estimation des coûts exacts

Les coûts d'entreprise sont souvent incertains et contextuels.Une matrice de coûts fixe peut ne pas saisir la variabilité (p. ex., certaines pertes de fraude sont faibles, d'autres énormes). Solution: Utiliser des coûts par instance si disponible, ou effectuer une analyse de sensibilité en testant plusieurs matrices de coûts.

Défi 2: Isolement des données amplifié par les coûts

Lorsque le C(FN) est très élevé, le modèle peut surestimer la classe positive, créant trop de faux positifs et de fardeau opérationnel. Solution: Tunissez la matrice de coûts à l'aide de données de validation.

Défi 3: Suradaptation aux instances de haute poids

Si quelques cas ont des poids extrêmement élevés (p. ex., quelques cas de fraude de millions de dollars), l'arbre peut sur-adapter à ces points. Solution: Clip ou normaliser les poids, utiliser la régularisation par ou , et des méthodes d'ensemble comme Random Forests avec pondération d'échantillon.

Défi 4 : Modèle de compromis en matière d'interprétation

Les arbres sensibles aux coûts peuvent devenir complexes. Solution: Utilisez l'extraction de règles sensibles aux coûts ou limitez la profondeur. Souvent, un arbre peu profond (profondeur 4–5) avec des poids d'échantillon fournit des règles interprétables et des économies importantes.

Conclusion

En allant au-delà de la précision et en intégrant une matrice de coûts dans la formation, les organisations peuvent réduire considérablement les pertes financières dans la détection de fraude, la gestion des curns, le risque de crédit et au-delà. La mise en œuvre est simple à l'aide de bibliothèques standard comme scikit-learn, exigeant seulement une estimation minutieuse des coûts d'entreprise et une pondération appropriée de l'échantillon.

Pour plus de détails, consultez la documentation sur les arbres scikit-learn et le document classique d'Elkan (2001), «The Foundations of Cost-Sensitive Learning».