21/02/2026

Python Algorithmes de classification KNN Régression Logistique K-Means Random Forest

Détectez des faux billets avec R ou Python

Développement d’un modèle de ML pour détecter les faux billets : comparaison de plusieurs algorithmes (K-means, régression logistique, KNN, Random Forest), sélection du modèle optimal et création d’une application de prédiction fonctionnelle.

Mission

Dans le cadre d'une mission pour l'Office National de Lutte contre le Faux-Monnayage (ONCFM), j'ai été chargé de concevoir un algorithme capable d'identifier automatiquement les faux billets à partir de leurs dimensions géométriques. L'enjeu était de fournir aux agents de terrain un outil d'aide à la décision fiable, rapide et interprétable, basé sur l'analyse de 1 500 billets (1 000 vrais et 500 faux).


Comment avez-vous procédé ?

1. Exploration et Préparation des Données : L'analyse a débuté par une phase d'exploration des caractéristiques physiques des billets : longueur, diagonale, hauteurs gauche et droite, ainsi que les marges supérieures et inférieures. Pour optimiser la performance des modèles, j'ai créé une nouvelle variable, "Centered", calculée à partir de l'asymétrie des marges, qui s'est révélée être un indicateur discriminant majeur.

2. Stratégie de Modélisation et Comparaison : J'ai testé et comparé quatre approches algorithmiques différentes pour identifier la plus adaptée à la problématique :

  • K-Means : Pour une approche de clustering non supervisé.
  • Régression Logistique : Pour une classification probabiliste linéaire.
  • Random Forest : Pour sa puissance basée sur des arbres de décision.
  • K-Nearest Neighbors (KNN) : Pour sa simplicité et sa performance sur ce type de données dimensionnelles.

3. Évaluation et Sélection du Modèle : Le modèle K-Nearest Neighbors (KNN) a été retenu avec une précision de 79,1 % et surtout un Recall exceptionnel de 96,3 %. Ce dernier indicateur était crucial pour la mission, car il permet de minimiser les "faux négatifs" (ne pas laisser passer un faux billet pour un vrai).

4. Développement de l'Application Opérationnelle : Pour rendre le modèle exploitable par les équipes, j'ai développé un script Python complet permettant :

  • La prédiction individuelle via une saisie manuelle des dimensions.
  • Le traitement par lot (Batch) via l'importation de fichiers CSV.
  • Le calcul d'une probabilité d'authenticité pour nuancer le résultat.

Livrables réalisés

  • Script de production (.py) : Un programme Python prêt à l'emploi intégrant le modèle entraîné via Joblib et offrant une interface utilisateur en ligne de commande.
  • Support de présentation stratégique : Une synthèse de 10 pages vulgarisant la méthodologie, comparant les performances des algorithmes et justifiant le choix du modèle final pour le CODIR.
  • Notebook d'analyse : Document regroupant l'ensemble de la démarche exploratoire, le nettoyage des données et les tests statistiques. Consultables ici : https://github.com/GaelleHenaf/OC_DA12---Detectez_des_faux_billets_avec_Python

Résultats Clés

  • Identification des variables les plus discriminantes : la longueur du billet et l'asymétrie des marges.
  • Mise en place d'un modèle KNN capable de détecter 96% des faux billets analysés.
  • Livraison d'un outil fonctionnel permettant une vérification instantanée de l'authenticité d'un billet ou d'un lot de billets.

Made with and by Gaëlle.