Toutes les réalisations

ML · Fraud

Shift — Détection de Fraude

Prioriser des dossiers · reconstruction synthétique vérifiable

Mission historique distincte · modèle entraîné sur données synthétiques

Modèle linéaire · données synthétiques

Test synthétique · 1200 dossiers fictifs

Précision moyenne (AP)
0,384
Precision@50
54 %
Lift du premier décile
×2,059
Étiquettes positives fictives
22,7 %

Entraînement et test suivent la même règle inventée. Ces mesures vérifient son apprentissage ; elles ne prouvent aucune performance sur la fraude réelle et ne décrivent pas la mission client.

Explorer la démonstration

Modèle entraîné · apprentissage sur données synthétiques

Comprendre un classement de dossiers

Entraînement et exemples sont entièrement synthétiques. Choisissez un dossier fictif et ajustez ses caractéristiques. Le modèle calcule un indice de priorité et ses contributions dans votre navigateur. Ce n’est ni le modèle confidentiel de Shift, ni un outil de décision d’assurance.

Le dossier fictif

De 100 à 120 000.

De 0 à 480 mois de relation avec l’assureur, pas l’âge du contrat.

De 0 à 3.

Indice de classement du modèle

-0,71

Un indice plus élevé place le dossier plus haut dans le classement du modèle. Ce nombre n’est pas une probabilité de fraude et ne déclenche aucune décision.

Comment cet indice est calculé

Contributions exactes de cette régression logistique : un terme positif augmente l’indice, un terme négatif le diminue. Ce ne sont ni des valeurs SHAP ni des causes de fraude.

Constante du modèle
-0,05
Montant réclamé
-0,55
Ancienneté du client
+0,27
Nombre de témoins
-0,08
Gravité déclarée
-0,07
Rapport de police
-0,22
Indice total
-0,71

L’arrondi à deux décimales peut créer un petit écart visuel dans la somme. Le calcul conserve toute la précision.

Données, protocole et limites

Cette baseline apprend uniquement sur des dossiers générés pour cette démonstration : 2800 pour apprendre et 1200 pour évaluer, avec une séparation stratifiée fixe. L’imputation, la standardisation et l’encodage sont ajustés sur les seules données d’entraînement.

Seules cinq caractéristiques métier sont utilisées. Les identifiants, données démographiques et la variable insured_hobbies ne font pas partie du modèle. L’ancienneté désigne la relation client, pas le délai entre souscription et sinistre.

La régression logistique utilise des poids de classes équilibrés. Son indice n’est pas une probabilité calibrée. Les étiquettes proviennent d’une règle fictive et bruitée, écrite dans le générateur. Les métriques mesurent la récupération de cette règle, sans démontrer une capacité à détecter des fraudes réelles. Aucune validation externe ou prospective n’est revendiquée.

Les exemples sont créés pour la démonstration, sans copie de dossier individuel. Le navigateur reçoit uniquement les paramètres agrégés du modèle ; aucune saisie n’est transmise. La détection de réseaux et d’anomalies n’est pas exécutée dans cette expérience.

Comprendre le projet

De la mission à la démonstration publique

La mission chez Shift Technology portait sur le scoring de sinistres pour aider les équipes d’investigation à prioriser leurs analyses. Les données et le modèle professionnels restent confidentiels. Cette page présente une reconstruction indépendante sur des données entièrement synthétiques, pas une copie de l’environnement client.

Pour rendre le calcul vérifiable dans le navigateur, cette version utilise une baseline de régression logistique avec cinq variables métier. Ce choix permet de relier chaque contribution au score total et de contrôler numériquement la fidélité de l’export, sans attribuer au modèle les performances d’une autre architecture.

Ce que l’expérience démontre

  • Séparer entraînement et test avant tout prétraitement appris.
  • Évaluer un classement avec des métriques adaptées à un budget de revue limité.
  • Exporter un modèle léger et vérifier sa parité avec scikit-learn.
  • Expliquer le calcul sans transformer une corrélation en preuve de fraude.

Le dépôt de recherche historique contient aussi des travaux XGBoost et Isolation Forest sur des données publiques. Ils constituent des expériences séparées ; cette démo n’exécute ni détection de réseau ni découverte de « fraude nouvelle ».

Méthode et ressources

Stack de la reconstruction

Pythonscikit-learnRégression logistiqueStandardScalerOneHotEncoderTypeScript

Protocole vérifiable

Corpus créé par un générateur original : 4000 dossiers fictifs, graine 20261102. Aucun dossier externe, aucune statistique du précédent corpus et aucun ancien coefficient ne sont utilisés. Split stratifié 70/30, graine 42. Prétraitement ajusté sur 2800 lignes ; évaluation sur 1200 autres lignes, dont 272 étiquettes positives fictives.

Precision@50 mesure la part de dossiers positifs parmi les 50 premiers du classement. Le lift compare la précision des 120 premiers à la prévalence du test. AP correspond à la précision moyenne calculée par scikit-learn, et non à une intégration trapézoïdale de la courbe précision-rappel.

Export : coefficients, constante, moyennes/échelles et catégories. 596 cas synthétiques comparent la fonction de décision JavaScript à scikit-learn avec une tolérance de 1e-10. Aucun dossier individuel n’est intégré au site.

Version : 2026-11-02. Limites : petit test unique, aucune estimation d’incertitude, aucune validation en production. Les contributions sont algébriques, pas causales.

Consulter le dépôt de recherche historique (nouvel onglet). Les scripts de reconstruction et de validation de cette démo sont conservés dans le dépôt du portfolio : scripts/shift_synthetic.py, scripts/train-shift.py et scripts/test-shift.mjs.