Vous avez brillamment évité une mise en production prématurée de votre modèle de régression logistique. Votre manager a compris grâce à votre analyse que l'exactitude de ~95% masquait en réalité une incapacité à détecter les défauts de paiement. Mais aujourd'hui, un nouvel acteur entre en scène : la direction financière de la banque.
Pour eux, les termes "Precision" ou "Recall" sont beaucoup trop abstraits. Leur question est directe et pragmatique :
Combien d'argent ce modèle va-t-il réellement faire gagner (ou perdre) à la banque ?
Dans la réalité métier, un faux positif n'a pas du tout le même coût financier qu'un faux négatif. Vous devez donc être capable de traduire les prédictions de votre algorithme en euros.
C'est exactement ce que nous allons voir dans ce chapitre. Vous allez apprendre à dépasser les statistiques pures pour évaluer votre modèle sous le prisme de sa rentabilité financière.
Pour bien comprendre l'impact financier de votre modèle, il faut d'abord décortiquer la façon dont il se trompe. En classification, nous utilisons pour cela une matrice de confusion. Skore vous permet de l'afficher très facilement, par exemple en utilisant des fonctions d'analyse visuelle. Cette matrice répartit vos prédictions en quatre catégories, qui ont chacune une traduction très concrète dans notre contexte bancaire :

Les Vrais Négatifs (True Negatives) : Le modèle prédit que le client va rembourser, et le client rembourse effectivement. C'est le cas idéal. La banque accorde le crédit, fidélise un bon client et encaisse les intérêts.
Les Vrais Positifs (True Positives) : Le modèle prédit un défaut de paiement, et le client aurait effectivement fait défaut. La banque refuse le crédit à juste titre. L'impact financier est neutre (pas de gain, mais surtout pas de perte).
Les Faux Positifs (False Positives) : Le modèle prédit un défaut, alors que le client était fiable. La banque refuse le crédit à tort. L'impact est une perte d'opportunité commerciale (manque à gagner).
Les Faux Négatifs (False Negatives) : Le modèle prédit un remboursement, mais le client fait défaut. C'est le scénario catastrophe. La banque prête de l'argent qui ne sera jamais rendu. C'est l'erreur qui coûte le plus cher !
C'est ici que se trouve la limite fondamentale des métriques purement statistiques. Elles sont excellentes pour juger de la capacité d'apprentissage mathématique de l'algorithme, mais elles sont aveugles à la réalité de votre entreprise.
Comment faire pour que notre évaluation reflète le fait qu'un Faux Négatif est, par exemple, cinq fois plus grave qu'un Faux Positif ?
Ces constats vont nous obliger à créer notre propre thermomètre financier. Et gardez bien ces notions en tête, car ces métriques serviront ensuite à guider l'optimisation de votre seuil de décision.
Puisque les métriques par défaut ne suffisent pas, nous allons devoir créer ce que l'on appelle une Custom Metric (métrique personnalisée). Dans notre cas, elle prendra la forme d'un score que nous appellerons le "Credit Gain", dont le but est d'estimer directement les gains et pertes financiers de notre portefeuille de crédits.
Pour ce faire, nous devons associer une valeur financière à chaque cas de notre matrice de confusion. Considérons la matrice de coûts métier suivante pour la banque :
Vrai Négatif (Bon client accepté) : +1 unité de gain (intérêts perçus).
Vrai Positif (Mauvais client refusé) : 0 unité (impact neutre).
Faux Positif (Bon client refusé) : -1 unité (perte de l'opportunité de gain).
Faux Négatif (Mauvais client accepté) : -5 unités (perte lourde du capital prêté).
Maintenant que la règle de calcul est posée, comment l'expliquer à notre modèle ?
Vous allez voir comment traduire notre matrice de coûts financiers en une fonction Python fonctionnelle, puis de la rendre compatible avec l'écosystème d'évaluation de scikit-learn.
Vous y découvrirez l'utilisation de la fonctionmake_scorer .
Dans cette vidéo, vous avez appris à transformer une règle financière abstraite en un évaluateur algorithmique concret, grâce à la création d'une fonction sur-mesure et à l'utilisation demake_scorer. Il ne reste plus qu'à observer ce que ce juge implacable va penser de notre fameux modèle à ~95 % d'exactitude.
Avoir un score financier est une excellente chose, mais s'il faut le calculer manuellement à chaque fois dans un coin de votre Notebook, vous perdez tout l'intérêt de la centralisation. L'un des grands atouts de Skore est sa capacité à absorber n'importe quelle fonction d'évaluation externe et à l'intégrer nativement à ses rapports interactifs.
Une fois ajoutée, votre métrique sur-mesure sera traitée exactement avec les mêmes égards que l'Accuracy ou le Recall.

Vous allez voir en vidéo comment enrichir votre EstimatorReport existant en y injectant votre nouvelle métrique financière. L'objectif est de pouvoir analyser les performances de votre modèle à travers vos propres critères métiers, directement depuis l'interface centralisée de Skore.
L'ajout de métriques personnalisées viareport.metrics.add()change tout. En quelques lignes de code, vous venez de démontrer visuellement et de manière irréfutable à votre direction que les statistiques classiques étaient trompeuses. Bien que l'algorithme réponde techniquement juste 8 fois sur 10, il choisit les mauvaises batailles et perd de l'argent.

Votre métrique métier "Credit Gain" a fait mouche. Le comité de direction l'a présentée en réunion, et personne n'a raté l'idée que chaque décision du modèle a un prix, et que ce prix se calcule. Mais le contexte macro-économique se tend, et la banque révise sa politique de risque en conséquence. Un défaut de paiement n'est plus jugé 5 fois plus coûteux qu'un bon client refusé, mais 10 fois plus coûteux. La perte de capital sur un crédit impayé est désormais considérée comme critique.
On vous demande d'adapter votre métrique à ce nouveau ratio de 1 pour 10, et de présenter la nouvelle évaluation à la direction.
Dans cet exercice, vous allez :
adapter une fonction de coût métier à une nouvelle contrainte business,
construire lescorerscikit-learn correspondant avecmake_scorer,
ajouter plusieurs métriques métier à un même rapportskoreet comparer leur impact.
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix, make_scorer
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from skore import evaluate
home_loans = pd.read_csv("home_loans.csv")
target = home_loans["defaut"]
data = home_loans.drop(columns="defaut")
scaled_model = make_pipeline(StandardScaler(), LogisticRegression())
report = evaluate(scaled_model, data, target, splitter=0.2)
def credit_gain(y_true, y_pred):
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
return tn * 1 + fp * (-1) + fn * (-5) + tp * 0
credit_gain_scorer = make_scorer(credit_gain, greater_is_better=True)
report.metrics.add(credit_gain_scorer, name="Credit Gain")
report.metrics.summarize()À partir de la métrique métier ci-dessus, vous allez :
Adapter les coûts de la fonction de calcul métier pour refléter la nouvelle politique de risque (ratio 1 pour 10).
Créer lescorerscikit-learn correspondant avecmake_scorer.
Ajouter cette nouvelle métrique sous le nom "Strict Credit Gain" au rapportskore, viareport.metrics.add.
Résumer les métriques et interpréter le résultat.
Les métriques statistiques classiques (Accuracy, Recall, etc.) ne permettent pas de quantifier l'impact concret des erreurs de prédiction sur les objectifs de l'entreprise.
Une matrice de coûts attribue un poids spécifique (positif ou négatif) à chaque type de décision de la matrice de confusion (Vrais Positifs, Faux Négatifs, etc.).
La fonction utilitairemake_scorerde scikit-learn permet de transformer une règle de calcul métier en un évaluateur algorithmique standardisé.
La commandereport.metrics.add()intègre définitivement vos métriques personnalisées à votre rapport Skore, aux côtés des métriques statistiques.
Évaluer un modèle via une métrique financière permet de détecter qu'un algorithme apparemment performant peut en réalité générer d'importantes pertes pour l'entreprise.
Maintenant que vous avez mis en lumière le véritable impact financier de vos prédictions grâce aux métriques sur-mesure, rendez-vous dans le chapitre suivant pour apprendre comment intégrer vos contraintes métiers avec des vérifications personnalisées !