Académique Documents
Professionnel Documents
Culture Documents
Sans oublier la grande famille : Mes oncles, mes tantes, mes chers cousins et mes chères
cousines.
A mes meilleurs amis.
Je dédie le fruit de ce présent labeur.
Nidhal yahmadi
Remerciements
Au terme de ce travail, je tiens à exprimer mes sincères remerciements à tous ceux qui ont
collaboré, de près ou de loin à la réalisation de ce projet.
Je tiens également à remercier Monsieur Nabil Zidi, mon encadrant au sein d’Attijari Bank,
Pour son accueil également, le temps qu’il a consacré pour moi et ses précieux conseils qu’il
m’a prodigués tout au long de ce projet.
Finalement, je fais grâce à tous les membres du jury qui m’ont accordé l’honneur de juger ce
travail.
L'industrie bancaire repose largement sur l'octroi de crédits, que ce soit aux particuliers ou
aux entreprises, pour financer divers projets et besoins financiers. Cependant, l'évaluation de
la fiabilité des demandes de crédit constitue un défi majeur pour les institutions financières.
Traditionnellement, les banques se basent sur des formulaires de demande remplis
manuellement par les clients, ce qui peut entraîner des erreurs et des incohérences dans les
données collectées. De plus, l'analyse manuelle de ces demandes est souvent longue et
fastidieuse, ce qui retarde le processus de prise de décision.
Dans le cadre de ce projet de fin d'études au sein du Attijari BANK, nous nous intéressons à
la possibilité d'automatiser et d'améliorer ce processus.
Ce projet vise à créer des algorithmes de deep learning qui peuvent extraire de manière
efficace les informations pertinentes à partir de demandes de crédit manuscrites. Nous allons
également mettre en place une solution de Business Intelligence (informatique décisionnelle)
qui aura pour rôle d'extraire, traiter et présenter les données de ces demandes de crédit ainsi
que les données des crédits déjà accordés dans un tableau de bord pour aider les institutions
financières à prendre des décisions éclairées et à réduire les risques associés à l'octroi de
crédits.
Notre rapport est structuré en cinq chapitres, résumant le travail effectué de la manière
suivante :
Dans le premier chapitre intitulé "Contexte général", nous aborderons les éléments essentiels
de notre stage. Nous commencerons par présenter le cadre dans lequel s'inscrit notre projet, en
fournissant une description générale de celui-ci. Nous nous attacherons ensuite à identifier les
aspects innovants de notre solution, en les comparant à ce qui existe déjà sur le marché.
Dans le deuxième chapitre, nous introduirons quelques notions théoriques essentielles qui
sont nécessaires pour une compréhension approfondie du reste du document. Ce chapitre
abordera les bases de l'apprentissage automatique, en mettant l'accent sur le domaine de
« Computer vision » et «BI». Nous présenterons les techniques spécifiques que nous
utiliserons pour mettre en œuvre notre idée.
Le troisième chapitre de notre rapport se concentre sur la solution utilisée pour extraire les
données des demandes de crédit écrites à la main. Nous décrivons en détail les étapes de ce
processus, y compris les techniques et les modèles de deep learning que nous avons employés.
Le quatriéme chapitre de notre rapport se concentre sur la prédiction de l'octroi de crédit .
Nous présentons en détail un modèle de prédiction basé sur différents types d'algorithmes de
Machine Learning, qui vise à déterminer l'admissibilité des demandeurs de prêts.
1
Le cinquième chapitre de notre rapport, intitulé « Conception , alimentation et restitution des
données », regroupe les différentes étapes du processus ETL (Extract, Transform, Load) ainsi
que l'analyse et l'interprétation graphique des données des de demande de crédit et les crédit
déjà accordé sous forme de Storytelling.
2
Chapitre 1 : Contexte général du projet
1) Introduction :
Ce premier chapitre a pour objectif de définir le contexte général de notre projet. Tout
d'abord, nous présenterons l'organisme d'accueil au sein duquel le stage a eu lieu. Ensuite,
nous examinerons le cadre du projet ainsi que la problématique qui se pose. Afin de recueillir
les principales défaillances du système actuel et d'identifier les différents aspects qui
contribueront à son amélioration, nous procéderons à une étude de l'existant. Enfin, nous
clôturerons ce chapitre en présentant la solution proposée et la méthodologie de travail
adoptée.
3
Les valeurs qui guident Attijari Bank sont les suivantes :
Éthique
Leadership
Engagement
Solidarité
Citoyenneté
Ce stage a été réalisé au sein du département Data Office, qui est composé d'une équipe de
consultants décisionnels et de data scientists.
4
3) Présentation du projet :
1.3.1 Contexte Du Projet :
Ce projet consiste à développer une application qui utilisera des algorithmes de deep learning
pour extraire les informations des demandes de crédit, fournir des prédictions sur
l'admissibilité des demandeurs et créer un tableau de bord interactif pour l'analyse des
données de demandes de crédit et des crédits déjà accordées . L'objectif est d'optimiser le
processus d'évaluation des demandes de crédit, d'améliorer la fiabilité des décisions et de
fournir des informations exploitables pour la gestion efficace des demandes de crédit à la
Banque Attijari.
1.3.3 Problématique :
Sans ce projet, l'état actuel de la banque en termes d'extraction de données à partir de
demandes de crédit écrites à la main est principalement caractérisé par une dépendance à
l'égard des ressources humaines pour effectuer cette tâche de manière manuelle.
Les employés spécialisés en saisie de données doivent examiner chaque demande de crédit,
extraire manuellement les informations pertinentes et les saisir dans les systèmes de la
banque.
Ce processus manuel présente certaines limites et défis, notamment :
Temps et efforts nécessaires : L'extraction manuelle des données des demandes de crédit peut
être un processus chronophage, nécessitant du temps et des efforts considérables de la part des
employés. Cela peut entraîner des retards dans le traitement des demandes de crédit et une
charge de travail accrue pour le personnel chargé de la saisie des données.
Risques d'erreurs humaines : La saisie manuelle des données peut entraîner des erreurs
humaines, telles que des erreurs de saisie, des omissions ou des incohérences dans les
informations extraites. Ces erreurs peuvent avoir un impact négatif sur la qualité des données
utilisées pour l'évaluation des demandes de crédit et peuvent entraîner des décisions inexactes.
Limitations de l'analyse approfondie : En raison des contraintes de temps et des efforts requis
pour extraire les informations manuellement, il peut être difficile de réaliser une analyse
approfondie de la fiabilité des demandes de crédit et d'identifier les tendances et les facteurs
de risque associés.
Prédiction limitée des demandes de crédit : En l'absence d'une analyse approfondie et des
dashboard innovants et d'un traitement efficace des données, il peut être difficile de
5
développer des modèles prédictifs précis pour évaluer les demandes de crédit futures et
prendre des décisions éclairées en matière d'octroi de crédit.
Une fois que ces données sont extraites, notre modèle de machine learning entre en jeu. En
utilisant un ensemble de données diversifié et une modélisation avancée, nous avons formé
notre système à prendre des décisions éclairées quant à l'octroi du crédit. Le modèle évalue
automatiquement les informations extraites par rapport à des critères prédéfinis, prenant en
compte des variables multiples pour déterminer si le demandeur est éligible pour un prêt.
Cette approche permet non seulement d'accélérer considérablement le processus de prise de
décision, mais elle garantit également une uniformité et une objectivité dans l'évaluation des
demandes de crédit.
Et pour l’analyse de données nous avons faits une solution de Business Intelligence (BI),
également connue sous le nom d'informatique décisionnelle, sera mise en place pour répondre
aux besoins métiers du département GGR (Gestion et Gestion des Risques). Cette solution
sera responsable de l'extraction, du traitement et de la restitution des données dans un tableau
de bord interactif, conçu spécifiquement pour répondre aux exigences et aux objectifs du
département. Et une solution basée sur un modèle de Machine Learning sera développée pour
prédire si une personne obtiendra une réponse favorable ou non à sa demande de crédit.
6
4) Methodologie :
Le processus CRISP-DM, ancré dans les meilleures pratiques d'analyse de données, constitue
la trame directrice qui oriente chaque étape du projet. Composé de six phases
interdépendantes, il instaure un cadre méthodique solide. La première phase, consacrée à la
compréhension du domaine, sert de fondation en clarifiant les objectifs et les impératifs
commerciaux. À cette étape succède la phase d'exploration des données, où l'accent est mis
sur la découverte des sources de données pertinentes et la détection d'éventuelles anomalies.
La phase de préparation des données revêt une importance cruciale, préalable à l'exploitation
des modèles prédictifs. Elle consiste en la sélection, le nettoyage, la transformation et
l'intégration des données en vue d'une analyse plus approfondie. À partir de ce socle de
données optimisé, la phase de modélisation entre en jeu, impliquant la sélection et
l'entraînement des modèles de prédiction utilisant des techniques d'apprentissage automatique
sophistiquées. L'évaluation des modèles, qui suit naturellement, évalue leur performance et
leur adéquation aux objectifs fixés.
7
concentrer sur des objectifs spécifiques, tels que l'entraînement de modèles particuliers ou
l'ajout de fonctionnalités au tableau de bord.
L'interaction entre Scrum et CRISP-DM est soigneusement orchestrée. Les principes de
Scrum, tels que les réunions de sprint et la flexibilité pour adapter les priorités, favorisent la
collaboration entre les membres de l'équipe et permettent des ajustements rapides en réponse
aux résultats obtenus lors des phases de modélisation et d'analyse. De plus, la structure en
phases distinctes de CRISP-DM se prête naturellement aux itérations de Scrum.
Il est primordial de fixer les besoins fonctionnels et non fonctionnels afin de satisfaire les
besoins métiers de notre projet.
8
éléments divers tels que les demandes de crédit, les attestations d'emploi ainsi que les fiches
de paie, requièrent une méthodologie sophistiquée d'extraction afin d'en extraire les données
ciblées. Le but ultime est d'automatiser ce processus fastidieux tout en garantissant une
exactitude élevée dans la récupération des informations requises, ouvrant ainsi la voie à une
gestion plus efficace des demandes de crédit et des données associées.
Reconnaissance de caractères : Mettre en place un module de reconnaissance de caractères qui
permet de convertir les demandes de crédit manuscrites en texte numérique. Cela facilitera
l'analyse ultérieure des données.
Tableau de bord interactif : Développer un tableau de bord interactif et convivial pour
présenter les résultats de l'analyse et des prédictions. Cela permettra aux utilisateurs de
visualiser les données, d'explorer les tendances, de générer des rapports personnalisés et de
prendre des décisions éclairées.
Analyse de la fiabilité des demandes : Développer des modèles d'analyse pour évaluer la
fiabilité des demandes de crédit. Cela peut inclure l'évaluation des informations fournies par
les demandeurs, la vérification de la cohérence des données et l'identification de tout élément
suspect ou frauduleux.
Prédiction de l'approbation du crédit :
•En utilisant les modèles de machine Learning , créez un mécanisme de prédiction pour
déterminer si un client est favorisé pour obtenir un crédit ou non.
9
6) Environnement logiciel
Outil ETL :
Souvent simplement appelé "Talend", est une plateforme d'intégration de données open
source qui permet de concevoir, développer, tester et exécuter des processus ETL (Extract,
Transform, Load) de manière efficace
10
analyses de données, développer des modèles d'apprentissage automatique, et créer des
visualisations informatives
Django est un framework de développement web open source écrit en Python. Il est conçu
pour simplifier la création d'applications web robustes, sécurisées et évolutives
Logiciels de développement
PyCharm est un environnement de développement intégré (IDE) dédié à Python. Il est conçu
pour aider les développeurs à écrire, déboguer et maintenir du code Python de manière
efficace.
11
Figure 9:logo Pycharm
Google Colab, ou Colaboratory, est une plateforme de Google qui offre un environnement de
développement en ligne basé sur Jupyter Notebook. Il est principalement utilisé pour
l'exécution de code Python, en particulier dans les domaines de l'apprentissage automatique
(Machine Learning) et de la science des données
7) Conclusion :
Dans la section précédente, nous avons d'abord introduit Attajri Bank, notre société d'accueil.
Ensuite, nous avons exposé la problématique que nous rencontrons, suivie de la solution que
nous proposons pour atteindre nos objectifs. De plus, nous avons détaillé les méthodologies
de gestion que nous avons adoptées tout au long du projet. Dans le prochain chapitre, nous
fournirons un aperçu des techniques et des approches que nous utiliserons dans notre projet.
12
Chapitre 2 : Etat de l’art
2.1 Introduction :
Ce chapitre vise à présenter quelques notions théoriques indispensables pour une meilleure
compréhension du reste du document. Il abordera les fondamentaux de l'extraction et de
l'analyse des données des demandes de crédit, ainsi que l'établissement d'une solution de
Business Intelligence (BI).
13
à partir des exemples d'entraînement et à effectuer des prédictions précises sur de nouvelles
données.
Les réseaux de neurones profonds ont connu un grand succès dans de nombreux domaines,
tels que la vision par ordinateur, la reconnaissance vocale, la traduction automatique et bien
d'autres. Leur capacité à apprendre des représentations hiérarchiques complexes à partir de
données non structurées en fait des outils puissants pour résoudre des problèmes de grande
envergure et des tâches d'apprentissage automatique avancées.
14
Couches de pooling : Les couches de pooling réduisent les dimensions spatiales des cartes de
caractéristiques obtenues à partir des couches de convolution. Les opérations de pooling
courantes incluent le pooling maximum et le pooling moyen, qui réduisent les dimensions tout
en préservant les caractéristiques les plus importantes.
Couches entièrement connectées : Les couches entièrement connectées sont des couches
traditionnelles de réseau neuronal où chaque neurone est connecté à tous les neurones des
couches précédentes et suivantes. Ces couches agrègent les caractéristiques extraites et
apprennent les relations complexes entre elles pour effectuer des prédictions.
Pendant l'entraînement, les CNN apprennent à extraire automatiquement les caractéristiques
pertinentes des données d'entrée grâce à la rétropropagation et à l'optimisation par descente de
gradient. Le réseau ajuste les poids des filtres pour minimiser la différence entre les sorties
prédites et réelles.
La capacité des CNN à apprendre automatiquement des représentations hiérarchiques des
données les rend très efficaces dans les tâches impliquant des images et des données spatiales.
Ils ont démontré des performances de pointe dans diverses applications de vision par
ordinateur et ont contribué à faire avancer ce domaine.
15
Le principal avantage du transfert d'apprentissage réside dans le fait que les modèles pré-
entraînés ont déjà appris des représentations utiles des données, telles que la détection de
motifs et de caractéristiques visuelles générales. Ces connaissances préalables peuvent être
transférées à une nouvelle tâche, où elles peuvent être adaptées et affinées pour des problèmes
plus spécifiques.
Pour utiliser le transfert d'apprentissage, on peut procéder de différentes manières :Fine-
tuning (ou affinage) : on prend un modèle pré-entraîné et on le poursuit avec de nouvelles
données, en ajustant les poids du modèle pour qu'il soit plus adapté à la nouvelle tâche.
Feature extraction (ou extraction de caractéristiques) : on utilise les couches convolutives du
modèle pré-entraîné pour extraire des caractéristiques des données d'entrée, puis on entraîne
un modèle spécifique à la nouvelle tâche sur ces caractéristiques extraites.
Le transfert d'apprentissage permet de bénéficier des avantages de la généralisation et de la
représentation des données acquises par les modèles pré-entraînés. Cela peut conduire à des
améliorations significatives en termes de performance et d'efficacité de l'apprentissage, en
réduisant le besoin de grandes quantités de données d'entraînement et en accélérant le
processus d'entraînement.
16
La vision par ordinateur trouve des applications dans de nombreux domaines, tels que
l'automobile (conduite autonome), la médecine (imagerie médicale, détection de maladies), la
sécurité (surveillance vidéo), la robotique, la réalité augmentée, la réalité virtuelle, le contrôle
de la qualité dans l'industrie, la reconnaissance de gestes et bien d'autres. Elle offre des
possibilités d'automatisation, d'analyse de données visuelles et d'interaction homme-machine
avancée.
Dans notre projet, nous utilisons un modèle de détection d'objets pour identifier et localiser
les champs pertinents dans les demandes de crédit. La détection d'objets est une tâche
essentielle qui consiste à détecter et à localiser des objets spécifiques dans une image.
Le modèle de détection d'objets que nous utilisons est basé sur des architectures de réseaux
neuronaux convolutifs, telles que YOLO (You Only Look Once), SSD (Single Shot MultiBox
Detector), Faster R-CNN (Region-based Convolutional Neural Network), ou RetinaNet. Ces
modèles ont été pré-entraînés sur de grands ensembles de données d'images et sont capables
de détecter divers objets dans une image avec une grande précision. nous avons réalisé une
étude comparative des trois modèles bien établis basés sur CNN pour la détection d'objets, qui
sont :
OLO (You Only Look Once), SSD (Single Shot MultiBox Detector), Faster R-CNN (Region-
based Convolutional Neural Network)
Faster R-CNN (Region-based Convolutional Neural Network) est un cadre populaire de
détection d'objets qui s'appuie sur les modèles précédents R-CNN et Fast R-CNN. Il a été
proposé par Shaoqing Ren et al. en 2015 et est depuis devenu une approche largement utilisée
pour la détection précise et efficace d'objets.
Faster R-CNN résout les limitations de ses prédécesseurs en introduisant un réseau de
proposition de régions (Region Proposal Network ou RPN) qui partage des couches
convolutives avec le réseau de détection, ce qui permet d'améliorer la vitesse et la précision.
17
des boîtes d'ancrage (anchor boxes), qui sont des formes de boîtes englobantes prédéfinies à
différentes échelles et ratios d'aspect.
Le RPN attribue des scores aux régions proposées en fonction de leur probabilité de contenir
un objet, et les propositions à score élevé sont transmises à l'étape suivante.
Couches convolutives partagées :
Le RPN et le réseau de détection partagent des couches convolutives, ce qui leur permet de
partager les calculs et d'améliorer l'efficacité. Les couches convolutives partagées extraient les
cartes de caractéristiques de l'image d'entrée, qui sont ensuite utilisées par le RPN pour
proposer des régions et par le réseau de détection pour classer et affiner les propositions.
RoI Pooling (Région d'intérêt) :
Après que le RPN ait généré des propositions de régions, le RoI pooling est appliqué pour
aligner les régions proposées à une taille fixe, indépendamment de leurs tailles d'origine. Le
RoI pooling garantit que chaque proposition est transformée en une représentation cohérente
pouvant être alimentée aux couches entièrement connectées suivantes.
Réseau de détection :
Le réseau de détection prend les caractéristiques RoI en entrée et effectue la classification des
objets et la régression des boîtes englobantes Il est composé de couches entièrement
connectées et de classifieurs softmax pour la classification des objets, ainsi que de couches de
régression de boîtes englobantes pour affiner les régions proposées. Faster R-CNN est
entraîné de bout en bout en utilisant une combinaison de pertes de classification et de
régression. Le modèle est optimisé à l'aide de la descente de gradient stochastique (SGD) et
de la rétropropagation pour mettre à jour les paramètres du réseau.
Dans l'ensemble, Faster R-CNN a démontré des améliorations significatives en termes de
vitesse et de précision de détection d'objets, ce qui en fait un choix populaire pour diverses
tâches de vision par ordinateur nécessitant une localisation précise et une identification
d'objets dans les images
SSD (Single Shot MultiBox Detector) est un détecteur d'objets qui appartient à la famille des
réseaux neuronaux convolutifs (CNN) utilisés dans la détection d'objets. Il a été proposé par
Wei Liu et al. en 2016 et est particulièrement apprécié pour sa rapidité et sa précision.
L'approche SSD est conçue pour détecter des objets dans des images en une seule passe
(single shot), ce qui signifie qu'elle est capable de localiser et classifier les objets en une seule
étape sans avoir besoin de propositions de régions supplémentaires. L'entraînement de SSD se
fait en utilisant un ensemble de données annotées contenant des images et leurs étiquettes
correspondantes pour les objets présents. Le modèle est ensuite optimisé à l'aide de techniques
d'optimisation, telles que la rétropropagation et la descente de gradient, afin de minimiser les
erreurs de prédiction.
18
Grâce à son architecture efficace et à sa capacité à détecter des objets de différentes tailles,
SSD est largement utilisé dans des applications de détection d'objets en temps réel, telles que
la détection de piétons, la détection de véhicules et la détection d'objets dans des vidéos.
YOLO (You Only Look Once), ce qui signifie "On ne regarde qu'une fois" en français, est
un algorithme de détection d'objets en vision par ordinateur. Il a été développé par Joseph
Redmon et al. en 2016 et est largement utilisé pour sa rapidité et son efficacité dans la
détection d'objets en temps réel.
L'approche YOLO traite la détection d'objets comme un problème de régression, où un
modèle d'apprentissage automatique est entraîné pour prédire les coordonnées des boîtes
englobantes et les classes d'objets directement à partir de l'image en une seule passe. Voici les
principaux points à retenir concernant YOLO :
Division de l'image en grille : YOLO divise l'image en une grille régulière, où chaque cellule
est responsable de prédire les objets présents dans cette région.
Prédiction des boîtes englobantes : Chaque cellule de la grille prédit un certain nombre de
boîtes englobantes qui encadrent les objets détectés. Chaque boîte englobante est caractérisée
par quatre coordonnées (x, y, largeur, hauteur) et un score de confiance qui estime la
probabilité qu'un objet soit présent dans la boîte.
Classification des objets : En plus des boîtes englobantes, YOLO prédit également les classes
d'objets associées à chaque boîte. Les classes prédites peuvent inclure des catégories générales
telles que "voiture", "piéton", "chien", etc.
Entraînement de bout en bout : YOLO est entraîné de manière end-to-end, ce qui signifie que
l'ensemble du réseau est optimisé conjointement pour minimiser les erreurs de prédiction des
coordonnées des boîtes englobantes et des classes d'objets.
Grâce à son approche en une seule passe, YOLO est extrêmement rapide et adapté aux
applications nécessitant une détection d'objets en temps réel. Cependant, il peut avoir une
précision légèrement inférieure par rapport aux méthodes qui utilisent des propositions de
régions, car il ne prend en compte qu'une seule région pour chaque objet. Malgré cela, YOLO
reste une méthode populaire pour la détection d'objets dans une variété d'applications,
notamment la surveillance vidéo, la conduite autonome et la détection d'objets dans les
images médicales.
Précision Complexité Rapidité Choix modèle
FRCN>YOLO>SSD FRCN>SSD>YOLO YOLO>SSD>FRCN YOLO est le meilleur choix
19
des documents écrits à la main. Voici quelques-uns des modèles couramment utilisés dans ce
domaine :
Convolutional Recurrent Neural Network (CRNN) et Trocr
TrOCR bénéficie des avantages du modèle Transformer, notamment sa capacité à capturer les
informations contextuelles et à traiter des séquences de longueur variable. Cela permet une
20
reconnaissance précise et robuste des caractères, même dans des conditions difficiles telles
que des images de qualité médiocre ou des polices d'écriture variées.
En utilisant le modèle TrOCR, il est possible d'extraire automatiquement et avec précision le
texte des images contenant du texte, y compris les demandes de crédit écrites à la main. Cela
facilite la numérisation et le traitement automatisé des informations de demande, contribuant
ainsi à l'efficacité et à la fiabilité du processus de crédit.
21
transformations linéaires, qui permettent au modèle d'apprendre à représenter et à comprendre
les relations entre les éléments de la séquence.
L'une des principales forces des Transformers réside dans leur capacité à modéliser les
dépendances à longue distance, ce qui les rend particulièrement adaptés aux tâches de
traitement du langage naturel qui nécessitent une compréhension globale du contexte. Les
Transformers ont également été étendus avec des variantes telles que BERT, GPT et T5, qui
ont obtenu des performances exceptionnelles dans une large gamme de tâches de NLP.
En résumé, les Transformers sont une architecture de réseau neuronal basée sur l'attention,
utilisée principalement dans le domaine du traitement du langage naturel. Ils sont conçus pour
capturer les dépendances à longue distance dans les séquences et ont joué un rôle majeur dans
les récents progrès de l'apprentissage automatique appliqué au langage et à la traduction.
22
Le processus de Machine Learning comprend généralement plusieurs étapes. Tout d'abord, les
données pertinentes pour l'apprentissage sont collectées et préparées. Ensuite, un modèle ou
un algorithme approprié est choisi pour effectuer l'apprentissage à partir de ces données. Le
modèle apprend à partir des données en identifiant des motifs, des relations ou des structures
qui peuvent être utilisés pour effectuer des prédictions ou prendre des décisions. Une fois que
le modèle est entraîné, il est évalué en utilisant des données supplémentaires pour mesurer ses
performances et sa précision. Si nécessaire, le modèle peut être ajusté et optimisé pour
améliorer ses performances.
Il existe différents types d'approches en Machine Learning, tels que l'apprentissage supervisé,
l'apprentissage non supervisé et l'apprentissage par renforcement. Dans l'apprentissage
supervisé, le modèle est entraîné sur un ensemble de données étiquetées, où chaque exemple
est associé à une étiquette ou à une réponse connue. Dans l'apprentissage non supervisé, le
modèle apprend à partir de données non étiquetées en cherchant à identifier des structures ou
des regroupements significatifs dans les données. L'apprentissage par renforcement implique
l'entraînement d'un agent à prendre des actions dans un environnement afin de maximiser une
récompense ou de minimiser une pénalité.
Le Machine Learning est utilisé dans de nombreux domaines tels que la vision par ordinateur,
le traitement du langage naturel, la prédiction des tendances, la recommandation de produits,
la détection de fraudes, et bien d'autres encore. Il offre de nombreuses opportunités pour
automatiser des tâches complexes et obtenir des connaissances exploitables à partir des
données.
23
Analyse des données : La BI utilise des méthodes et des algorithmes d'analyse de données
pour identifier des tendances, des modèles et des informations utiles à partir des données
collectées. Cela comprend des techniques telles que l'exploration de données, l'analyse
prédictive, l'analyse des tendances et l'analyse des données multidimensionnelles.
Présentation des données : La BI utilise des outils de visualisation de données pour présenter
les résultats de l'analyse de manière claire et compréhensible. Cela peut inclure des tableaux
de bord interactifs, des graphiques, des diagrammes et d'autres représentations visuelles.
Prise de décision : La BI fournit aux décideurs des informations pertinentes, précises et en
temps réel pour les aider à prendre des décisions éclairées. Cela peut inclure des rapports et
des recommandations basés sur l'analyse des données.
En résumé, la Business Intelligence est un ensemble de techniques et d'outils qui permettent
aux organisations de collecter, analyser et présenter des données pour faciliter la prise de
décision et améliorer la performance globale de l'entreprise. Elle joue un rôle essentiel dans la
gestion et l'optimisation des activités commerciales.
24
Mesures : Les mesures sont les données numériques ou quantitatives qui sont analysées dans
le contexte des dimensions. Par exemple, les mesures pourraient être le montant du crédit, la
durée du prêt, etc. Les mesures sont généralement agrégées ou sommées pour représenter des
indicateurs clés tels que le chiffre d'affaires, les bénéfices, etc.
Cubes de données : Les cubes de données sont la représentation physique des données
multidimensionnelles. Ils sont constitués de tables de faits (fact tables) qui contiennent les
mesures et de tables de dimensions (dimension tables) qui contiennent les attributs des
dimensions. Les cubes de données permettent d'organiser les données de manière à permettre
des requêtes rapides et flexibles.
Opérations d'agrégation : Les opérations d'agrégation permettent de regrouper et de résumer
les données sur différentes combinaisons de dimensions. Cela permet d'obtenir des résultats
agrégés à différents niveaux de granularité, facilitant ainsi l'analyse des données à différents
niveaux d'agrégation.
L'avantage de la modélisation multidimensionnelle est qu'elle offre une vue intuitive des
données, permettant aux utilisateurs de naviguer facilement à travers les dimensions pour
analyser les informations selon différents points de vue. Elle facilite également la création de
rapports, de tableaux de bord et d'analyses ad hoc pour prendre des décisions éclairées.
En résumé, la modélisation multidimensionnelle est une approche de conception des entrepôts
de données qui organise les données en fonction de dimensions clés et de mesures. Cela
permet une analyse efficace des données à travers différentes perspectives, améliorant ainsi la
compréhension et la prise de décision.
Il existe trois modèles de conception couramment utilisés pour la création d'un entrepôt de
données :
Le modèle en étoile : Dans ce modèle, les tables de dimensions sont reliées à une table
centrale de faits via des clés étrangères. La table de faits contient les mesures numériques et
les clés étrangères des tables de dimensions permettent d'ajouter des attributs des dimensions.
Ce modèle est simple, facile à comprendre et à interroger, mais il peut devenir complexe
lorsque de nombreuses dimensions sont impliquées.
25
Le modèle en flocon de neige : Ce modèle est similaire au modèle en étoile, mais les tables de
dimensions sont normalisées en plusieurs tables pour réduire la redondance des données. Cela
permet d'économiser de l'espace de stockage, mais peut rendre les requêtes plus complexes en
raison de la nécessité de joindre plusieurs tables.
26
Faster R-CNN ou SSD, permettent de détecter et d'extraire automatiquement les champs
pertinents des documents. Cela facilite la collecte des données nécessaires à l'analyse et à la
prise de décision.
Analyse des données : Une fois les données extraites, la BI intervient pour analyser ces
données en profondeur. Les techniques d'analyse de données, telles que l'exploration de
données, l'analyse statistique et l'apprentissage automatique, peuvent être utilisées pour
identifier des tendances, des modèles et des relations entre les demandes de crédit. Cela
permet de prendre des décisions éclairées basées sur des informations précises et exploitables.
Visualisation des données : La BI utilise des outils de visualisation de données tels que les
tableaux de bord interactifs pour présenter les résultats de l'analyse. Ces visualisations
facilitent la compréhension et l'interprétation des données, permettant aux décideurs de voir
rapidement les informations clés et de suivre les performances des demandes de crédit.
Prédiction et prise de décision : Grâce au deep learning et à l'analyse des données, il est
possible de développer des modèles de prédiction pour évaluer la fiabilité des demandes de
crédit et prédire les résultats futurs. Ces prédictions peuvent aider les décideurs à prendre des
décisions éclairées concernant l'octroi de crédit et à minimiser les risques.
En résumé, le deep learning permet l'extraction précise des données à partir des demandes de
crédit, tandis que la business intelligence intervient pour analyser ces données, les visualiser
de manière compréhensible et prendre des décisions basées sur des informations pertinentes.
La combinaison de ces deux domaines permet une approche complète et puissante pour la
gestion et l'optimisation des demandes de crédit.
2.6 Conclusion :
Dans ce deuxième chapitre, nous avons exploré les concepts fondamentaux de la deep
learning, de la Business Intelligence et du Machine Learning, en les appliquant à notre projet.
Nous avons ainsi pu comprendre les bases théoriques de ces disciplines et mettre en évidence
les liens étroits qui les unissent. Cette compréhension nous a permis de saisir l'importance de
leur interaction dans notre projet et d'appréhender leur complémentarité.
27
Chapitre 3 : Modélisation et extraction de données
3.1 Introduction
Ce chapitre présentera spécifiquement la modélisation de notre solution, son objectif principal
est de fournir une compréhension approfondie du fonctionnement de la partie extraction des
données d'une point de vue technique.
Nous allons décrire la conception globale de cette solution ainsi que les étapes détaillées de
chaque phase.
28
3.3 Numérisation des données et collecte de données
L'étape de numérisation et collecte des données est cruciale dans notre projet d'extraction
d'informations à partir de documents de crédit. Elle implique la conversion des documents de
crédit physiques en format numérique et la collecte des informations nécessaires pour
l'entraînement et l'évaluation de notre modèle de deep learning.
Cette phase constitue la base solide de notre pipeline, car elle rend les documents accessibles
au traitement automatique et fournit l'ensemble de données essentiel pour la formation de
notre modèle de détection et lecteur des champs . Une attention rigoureuse à cette étape
garantira la qualité, la représentativité et la précision de notre modèle dans le traitement des
documents de crédit.
Voici les données collectées pour notre projet :
Collecte de formulaires de demande de crédit pour YOLO :
Nous avons constitué un ensemble de 100 formulaires de demande de crédit, que nous
utiliserons dans le modèle YOLO. Ce modèle, basé sur l'apprentissage en profondeur, est
spécialisé dans la détection d'objets dans les images.
29
Entraînement pour la lecture des champs écrits à la main :
Pour permettre à notre modèle de lire les champs écrits à la main tels que le nom, l'adresse,
etc., nous avons utilisé la base de données IAM Handwriting. Celle-ci contient des exemples
d'écriture manuscrite qui nous ont permis d'entraîner notre modèle à reconnaître et à extraire
ces informations clés.
30
3.4 Préparation des données:
Le prétraitement des images de formulaires de demande de crédit est une étape essentielle
dans notre projet d'extraction d'informations. Cette étape vise à préparer les images pour
qu'elles soient adaptées à l'entraînement de notre modèle de deep learning.
Voici les principales étapes du prétraitement des images de formulaires de demande de crédit
3.4.1 Redimensionnement
Les images peuvent avoir différentes tailles et résolutions. Pour garantir une entrée cohérente
pour notre modèle, nous redimensionnons toutes les images à une taille spécifiée, par
exemple, 224x224 pixels.
31
Figure 25:Image après filtre
32
3.4.4 Vérification de la qualité
Tout au long du prétraitement, nous effectuons des vérifications pour s'assurer de la qualité
des images après chaque étape. Cela garantit que notre ensemble de données est prêt à être
utilisé pour l'entraînement et l'évaluation du modèle.
33
Dans le fichier "data/classes.txt", définissez la liste des classes.
34
Un exemple d'image étiquetée sur mesure dans LabelImg est visible, où les rectangles verts
représentent les classes imprimées et les rectangles jaunes les classes écrites à la main. Lors
de l'enregistrement de cette image au format YOLO (étape 3), il exporte les valeurs brutes des
classes, x, y, largeur (w) et hauteur (h) dans un fichier texte
Le format du fichier texte suit les spécifications suivantes :
• Une ligne par objet
• Chaque ligne est au format classe x-centre y-centre largeur hauteur.
• Les coordonnées de la boîte doivent être normalisées dans le format x, y, largeur (w) et
hauteur (h) de zéro à un.
• Les numéros de classe sont indexés à partir de zéro, ce qui signifie qu'ils commencent à
zéro.
35
Extraction des coordonnées : Les coordonnées des boîtes englobantes prédites par YOLO
sont fournies sous forme de coordonnées de coins (coin supérieur gauche et coin inférieur
droit) ou de coordonnées centrales avec la largeur et la hauteur des boîtes.
Cropping : En utilisant les coordonnées obtenues, j'ai pu extraire les régions d'intérêt
spécifiques de l'image d'origine. J'ai pris une zone rectangulaire de l'image initiale en utilisant
les coordonnées des boîtes englobantes et j'ai découpé chaque région d'intérêt pour les isoler.
36
• weights : spécifie un chemin vers les poids. L'utilisation de poids pré-entraînés peut réduire
le temps d'entraînement. Le modèle établira automatiquement des poids aléatoires pour
l'entraînement s'il est laissé vide.
• name : nom du dossier de résultats. Le modèle créera un répertoire contenant tous les
résultats obtenus lors de l'entraînement.
• cache : True ou False, mise en cache des images pour un entraînement plus rapide.
Les paramètres suivants sont utilisés pour l'entraînement du modèle :
Taille d'image de 640x640, ce qui semble être suffisant selon les recherches.
Taille de lot (batch size) de 32, une valeur plus élevée n'était pas possible en raison des
erreurs de mémoire.
Un total de 300 époques, ce qui semble être normal.
Figure 31:équation 1
La perte de confiance est une mesure de la probabilité d'existence d'un objet dans une région
d'intérêt suggérée par le modèle. Si la confiance est élevée, cela signifie que la fenêtre d'image
contient probablement un objet. Cette perte est calculée en comparant les valeurs de confiance
réelles (Cj) avec les valeurs prédites par le modèle (Ĉj). Le terme λNobj est utilisé pour
ajuster cette perte.
37
Figure 32:équation 2
La perte de classification mesure la précision des prédictions de classe faites par le modèle.
Elle est calculée en utilisant une erreur quadratique des probabilités de classe réelles (pj(c)) et
prédites (p̂j(c)) pour chaque classe c.
Figure 33:équation 3
En résumé, la fonction de perte totale (Loss) est une combinaison des pertes de localisation,
de confiance et de classification, et elle est utilisée pour guider l'apprentissage du modèle
pendant la phase d'entraînement.
Dans le graphique ci-dessous, nous pouvons observer les fonctions de perte (loss), de
précision (precision), de rappel (recall) et de mAP (Mean Average Precision) à la fois pour
l'ensemble d'entraînement (train) et l'ensemble de validation (val).
38
Les trois premiers graphiques en haut à gauche représentent les fonctions de perte
d'entraînement (train loss), qui diminuent toutes trois avec le temps. Il en va de même pour les
trois graphiques en bas à gauche représentant les fonctions de perte de validation (validation
loss), où seule la fonction de perte d'objet (object loss) a connu un léger pic après environ 50
époques, mais elle est ensuite revenue à une tendance à la baisse. De plus, les fonctions de
précision (precision) et de rappel (recall) augmentent toutes deux, ce qui indique de bonnes
performances.
La valeur de la métrique mAP à 0,5 augmente vers un résultat proche de 1 déjà après environ
100 époques. Cela signifie que plus de détections sont effectuées, plus la valeur de mAP
augmente. Une valeur élevée de mAP indique de bonnes performances du modèle, avec des
détections correctes et peu de fausses détections.
Ces observations sont prometteuses et indiquent que le modèle se comporte bien et évolue
dans la bonne direction au cours de l'entraînement et de la validation. Une diminution
continue de la perte d'entraînement et de validation, ainsi qu'une augmentation de la précision,
du rappel et de la métrique mAP, suggèrent que le modèle devient de plus en plus performant
à mesure qu'il apprend et s'améliore avec le temps. Ces résultats positifs indiquent que le
modèle est capable de détecter avec précision les différentes classes de champs dans les
formulaires de demande de crédit.
3.5.3 Cropping :
L'étape de cropping permet donc de transformer une image de formulaire de demande de
crédit en plusieurs images individuelles, chacune contenant un champ spécifique isolé du reste
de l'image. Cela facilite considérablement le traitement et l'analyse ultérieure de chaque
champ, car nous pouvons maintenant appliquer des techniques spécifiques à chaque type de
champ pour extraire les informations pertinentes.
Les images recadrées peuvent ensuite être utilisées pour des tâches spécifiques telles que la
reconnaissance de texte (OCR) pour extraire le contenu textuel de chaque champ, la
classification pour identifier le type de champ (nom, adresse, etc.).
39
3.6 Lecture des champs :
Dans l'étape de lecture des champs, j'ai opté pour une approche de "Transformer Learning" en
utilisant le modèle TrOCR sur la base de données IAM Handwriting. Le Transformer est une
architecture de réseau de neurones révolutionnaire qui a prouvé son efficacité dans diverses
tâches de traitement du langage naturel et de vision par ordinateur. TrOCR, basé sur le
Transformer, est spécifiquement conçu pour la reconnaissance optique de caractères, ce qui en
fait un choix idéal pour notre projet d'extraction d'informations à partir de formulaires de
demande de crédit.
L'utilisation du modèle TrOCR finement ajusté a permis d'obtenir des résultats prometteurs
lors de la lecture des champs dans les images de formulaires. L'architecture Transformer a
montré sa capacité à capturer les dépendances à long terme et les motifs complexes présents
dans les données manuscrites, ce qui a permis d'atteindre des performances de pointe dans la
reconnaissance optique de caractères.
40
Figure 36:Résultat de modèle TROCR
41
Ces résultats indiquent que le modèle TrOCR fine-tuné sur la base de données IAM
Handwriting en utilisant PyTorch a montré une amélioration significative de ses performances
au fil des étapes d'entraînement. Le modèle semble être en train d'apprendre efficacement à
prédire les annotations de caractères, ce qui est prometteur pour sa capacité à effectuer une
reconnaissance précise des champs de formulaires de demande de crédit.
L'utilisation du modèle TrOCR finement ajusté (fine-tuned) a permis d'obtenir des résultats
prometteurs lors de la lecture des champs dans les images de formulaires.
Les résultats prometteurs indiquent que le modèle finement ajusté a réussi à prédire avec
succès les champs dans les images de formulaires.
42
Figure 38:Page de connexion
Menu de Sélection : Une fois connecté, l'utilisateur est dirigé vers un menu central où il peut
choisir entre deux options principales : "Traitement d'Images" ou "Exploration de Dossiers".
Traitement d'Images : Si l'utilisateur opte pour le traitement d'images, une nouvelle page
s'affiche, l'invitant à télécharger une image contenant la demande de crédit manuscrite. Cette
étape vise à faciliter le téléchargement de l'image numérisée ou de la photo de la demande de
crédit.
43
Figure 40:Traitement des images
Extraction des Données : Après le téléchargement de l'image, l'utilisateur accède à une page
dédiée où l'image est affichée conjointement avec le formulaire contenant les données
extraites. Par exemple, si l'image comporte une demande de crédit, le formulaire extrait sera
structuré de manière à identifier clairement les informations clés.
44
*
Champs Extraites :
Le formulaire extrait met en évidence les champs pertinents extraits automatiquement à partir
de l'image de la demande de crédit. Ces champs comprennent des éléments tels que :
CIN (Carte d'Identité Nationale) : L'identification personnelle du demandeur.
Nom et Prénom : Les détails du nom du demandeur.
Montant du Devis : Le montant demandé dans la demande de crédit.
Montant du Crédit : Le montant approuvé pour le crédit.
Revenu : Les informations sur revenu du demandeur
Vérification de Signature : Validation de la Conformité
Une fois les données extraites, elles sont ajoutées à la base de données du système, associées à
la demande de crédit correspondante. Cette étape garantit une conservation centralisée et
organisée des informations.
45
Exploration de Dossiers : Si l'utilisateur sélectionne l'option "Exploration de Dossiers", il est
dirigé vers une page où il peut télécharger des dossiers au format PDF contenant des
demandes de crédit manuscrites.
Redirection vers le Tableau de Bord : Après l'ajout réussi des données, l'utilisateur est
redirigé vers le tableau de bord principal. Cela lui donne une vue d'ensemble de toutes les
demandes de crédit traitées et des informations associées.
46
Figure 44:Tableau de bord
3.8 Conclusion :
En conclusion, ce chapitre a mis en lumière notre réussite dans l'extraction des données à
partir de demandes de crédit manuscrites. Cette étape cruciale nous permettra d'exploiter les
données de manière significative dans les prochaines phases de notre projet, telles que
l'analyse des risques de crédit, la modélisation prédictive, et la prise de décision automatisée.
47
4.1 Introduction
Dans le but d'automatiser ce processus, nous avons été chargés de segmenter les clients en
deux catégories distinctes : ceux qui sont éligibles pour obtenir un prêt et ceux qui ne le sont
pas. Cette segmentation permettra à la banque de cibler de manière spécifique les clients
éligibles pour l'octroi du prêt. en fait nous allons mettre en place un modèle de prédiction pour
évaluer l'éligibilité des demandeurs de prêts en utilisant divers types d'algorithmes de
Machine Learning. Pour réaliser cette tâche, nous avons accès à un ensemble de données
fourni par la banque, comprenant un historique de prêts. Ce jeu de données est constitué de 30
000 entrées.
48
Figure 45:DataFrame Crédit.csv
Notre DataFrame contient 32 581 entrées (lignes) et 7 colonnes avec les noms et
caractéristiques suivantes :
Nom Caractéristiques
Age La colonne représente l'âge des individus
Revenue La colonne représente le revenu des individus
Typecredit La colonne représente le type de crédit.
Montantcredit La colonne représente le montant du crédit
Interet demprunt La colonne représente le taux d'intérêt du prêt
Duree La colonne représente la durée du crédit en
année
Etatcredit : La colonne représente l'état du crédit
49
4.2.2 Vérification de la qualité des données et Description des données
Vérification des valeurs null :
Dans l'ensemble de notre jeu de données, nous avons examiné la présence de valeurs
manquantes (NaN) dans chaque colonne. Les résultats indiquent que toutes les colonnes, à
savoir "age", "revenu", "typecredit", "montantcredit", "Interet demprunt", "duree" et
"etatcredit", ne contiennent aucune valeur manquante. Cela est extrêmement positif pour notre
analyse de données, car nous disposons d'un ensemble de données complet et prêt à être
exploité pour notre projet de recherche.
L'analyse des variables qualitatives :
1) Type credit
Lors de l'analyse de notre jeu de données, nous avons identifié la distribution des types de
crédit de la manière suivante :
•Credex : 16 446 occurrences
•Creditau : 13 444 occurrences
•Tahssin : 2 584 occurrences
50
•Autre (non spécifié) : 107 occurrences
Cependant, nous savons que dans le contexte de la banque, il ne devrait y avoir que trois types
de crédit : Credex, Creditau et Tahssin. La présence d'une catégorie "Autre (non spécifié)"
avec 107 occurrences indique qu'il y a eu un problème lors de l'étape de préparation des
données, conduisant à l'ajout involontaire d'une catégorie non valide.
Ce problème nécessite une étape de correction dans la préparation des données. Il est
important de comprendre comment la catégorie "Autre (non spécifié)" a été introduite et de
mettre en place les mesures appropriées pour filtrer correctement les données et réassigner les
occurrences à l'une des trois catégories valides de crédit. Une analyse plus approfondie de ces
occurrences "Autre" pourrait être nécessaire pour déterminer s'il s'agit d'erreurs de saisie, de
valeurs manquantes mal traitées ou d'autres problèmes dans le jeu de données.
2)Durée :
La colonne "duree" dans notre jeu de données présente la distribution suivante pour les durées
de crédit :
•Durée 5 mois : 19 664 occurrences
•Durée 10 mois : 9 355 occurrences
•Durée 16 mois : 2 771 occurrences
•Durée 17 mois : 641 occurrences
•Durée 1 mois : 50 occurrences
•Durée 8 mois : 50 occurrences
•Durée 20 mois : 50 occurrences
Cependant, il est important de noter que nous nous attendons à ce que la colonne "duree" ne
contienne que les valeurs de 5, 10, 16 et 17 mois. La présence de valeurs telles que 1, 8 et 20
mois suggère un problème potentiel dans la qualité des données ou dans l'étape de préparation
des données.
Il serait judicieux de vérifier plus en détail pourquoi ces valeurs non conformes (1, 8 et 20) se
trouvent dans la colonne "duree". Il pourrait s'agir d'erreurs de saisie, d'une mauvaise
51
validation des données ou d'autres problèmes liés à la collecte et à la préparation des données.
Une fois que le problème aura été identifié et corrigé, la colonne "duree" devrait contenir
uniquement les valeurs valides de 5, 10, 16 et 17 mois.
3)etatcredit :
Il est observé que des valeurs aberrantes, ou outliers, ont été identifiées dans les données à
l'aide de la méthode des intervalles interquartiles (IQR). L'IQR est une mesure statistique
largement utilisée pour repérer les valeurs extrêmes au sein d'un jeu de données. En
appliquant cette méthode, nous constatons les quantités suivantes de valeurs aberrantes pour
chaque variable :
•Nombre de valeurs aberrantes dans 'âge' : 1494
•Nombre de valeurs aberrantes dans 'revenu' : 1484
52
•Nombre de valeurs aberrantes dans 'montant du crédit' : 1689
•Nombre de valeurs aberrantes dans 'Intérêt d'emprunt' : 651
•Nombre de valeurs aberrantes dans 'durée' : 50
•Nombre de valeurs aberrantes dans 'état du crédit' : 7108
Ces résultats mettent en évidence la présence significative de valeurs aberrantes,
particulièrement dans les variables 'âge', 'revenu', 'montant du crédit', 'Intérêt d'emprunt' et
'état du crédit'. Comme vous le savez, les valeurs aberrantes peuvent considérablement
influencer les analyses statistiques et les modèles prédictifs. Par conséquent, il est crucial de
déterminer si ces valeurs représentent des erreurs ou des valeurs extrêmes légitimes dans le
contexte de l'étude.
L'approche de l'IQR est largement reconnue pour l'identification des valeurs aberrantes, mais
il convient également de mener une réflexion approfondie sur la nature de ces valeurs, leur
origine potentielle et leur impact sur les résultats de l'analyse. En fonction des objectifs et du
domaine de l'étude, des mesures appropriées pourraient être prises, telles que l'élimination, la
transformation ou le traitement des valeurs aberrantes. Ces décisions doivent être prises avec
soin pour garantir l'intégrité et la validité de l'analyse.
Voici comment fonctionne l'approche de l'IQR pour détecter les valeurs aberrantes :
1.Calculez les Quartiles : Tout d'abord, calculez le premier quartile (Q1) et le troisième
quartile (Q3) de vos données. Q1 représente la valeur en dessous de laquelle 25% des données
se situent, et Q3 représente la valeur en dessous de laquelle 75% des données se situent.
2.Calculez l'IQR : L'IQR est la différence entre le troisième quartile (Q3) et le premier
quartile (Q1), soit IQR = Q3 - Q1.
3.Déterminez les Limites : Calculez les limites inférieure et supérieure pour repérer les
valeurs aberrantes. La limite inférieure est définie comme Q1 - 1,5 * IQR, et la limite
supérieure est définie comme Q3 + 1,5 * IQR.
4.Identifiez les Valeurs Aberrantes : Toute valeur en dehors de ces limites (soit en dessous de
la limite inférieure ou au-dessus de la limite supérieure) est considérée comme une valeur
aberrante selon cette approche.
53
4.2.3 Statistiques descriptives :
Voici un résumé des statistiques et des observations importantes que nous avons identifiées :
1.Âge des Demandeurs : L'âge moyen des demandeurs de crédit est d'environ 27 ans, avec un
écart-type de 6,35 ans. Cette distribution d'âges indique une population relativement jeune, ce
qui est cohérent avec le fait que de nombreux individus demandent un crédit à un stade
précoce de leur vie professionnelle. Cependant, il est important de noter une valeur aberrante
d'âge maximum à 144 ans, qui pourrait nécessiter une vérification pour garantir l'exactitude
des données.
2.Revenu des Demandeurs : Le revenu moyen des demandeurs est d'environ 4404 unités
monétaires, mais il est important de noter que l'écart-type est élevé, à 4132. Cela suggère une
variation significative des revenus parmi les demandeurs de crédit. La fourchette de revenus
est vaste, allant de 266 à 400 000 unités monétaires, ce qui indique la présence potentielle de
valeurs extrêmes.
3.Montant du Prêt Demandé : Le montant moyen du prêt demandé est d'environ 9589 unités
monétaires, avec un écart-type élevé de 6322. Cette dispersion suggère que les demandeurs
recherchent des montants de prêt variés. Les montants de prêt varient de 500 à 35 000 unités
monétaires, reflétant une diversité dans les besoins financiers.
54
4.Taux d'Intérêt : Le taux d'intérêt moyen est d'environ 17 %, avec un écart-type de 10,68 %.
Cependant, il est important de noter que les taux d'intérêt varient de 0 % à 83 %. La présence
de taux d'intérêt aussi élevés soulève des questions sur la validité des données, et une
vérification plus approfondie pourrait être nécessaire.
5.Durée du Prêt : La durée moyenne du prêt est d'environ 7,63 ans, avec un écart-type de 3,71
ans. Les durées de prêt varient de 1 à 20 ans, reflétant une diversité dans les préférences des
demandeurs en matière de remboursement.
6.État d'Approbation du Crédit : Environ 21,82 % des demandes de crédit ont été approuvées.
Cette proportion peut fournir des informations sur le taux d'approbation global et pourrait être
explorée davantage pour identifier des tendances potentielles.
L'analyse exploratoire initiale de l'ensemble de données a mis en évidence certaines tendances
et valeurs aberrantes potentielles. Avant de procéder à une analyse plus approfondie ou à des
modélisations, il est recommandé de nettoyer les données en vérifiant et en traitant les valeurs
aberrantes
Correlation
55
Figure 53:Matrice de corrélation entre montantcredit et l interet
56
7.Revenu et Montant du Crédit : Il y a une corrélation positive modérée de 0,267 entre le
revenu et le montant du crédit. Cela suggère qu'une augmentation du revenu est associée à une
tendance à obtenir un montant de crédit plus élevé.
Un graphique qui montre comment les valeurs de la variable 'revenu' sont distribuées dans nos
données.
Analyser la relation entre les tranches d'âge (groupées en catégories) et le statut de crédit par
défaut dans notre jeu de données
57
Figure 56:Représentation graphique de statu de credit
un graphique à barres qui montre la distribution du statut de crédit dans notre jeu de données
La phase de préparation de données est cruciale pour garantir que vos données sont prêtes à
être utilisées dans les étapes d'analyse et de modélisation. Voici les principales étapes de la
préparation des données :
1.Gestion des valeurs aberrantes : Décidez comment traiter les valeurs aberrantes. Vous
pouvez les supprimer, les remplacer ou les conserver en fonction du contexte.
2.Encodage des variables catégorielles : Convertissez les variables catégorielles en un format
numérique approprié, tel que l'encodage one-hot ou l'encodage de label.
3.Normalisation des Variables Quantitatives: est un processus statistique visant à mettre à
l'échelle les données numériques de manière à ce qu'elles partagent une plage de valeurs
commune et une distribution standardisée
4.Division des données : Divisez vos données en ensembles d'apprentissage, de validation et
de test. Cela vous permet de former et d'évaluer vos modèles de manière appropriée.
58
4.3.1 Gestion des valeurs aberrantes
Dans la phase de préparation des données, nous avons rencontré une situation où la variable
'TypeCredit' comportait une catégorie inhabituelle et incorrecte, à savoir "aaaa". Après avoir
examiné attentivement les données, nous avons déterminé que cette catégorie était une erreur
de saisie ou une valeur aberrante évidente qui n'apportait aucune information valide à notre
ensemble de données.
Pour résoudre ce problème, nous avons choisi de supprimer les lignes où la valeur de
'TypeCredit' était égale à "aaaa". Cette décision a été prise en toute connaissance de cause, en
évaluant les conséquences potentielles sur notre ensemble de données. En supprimant ces
lignes, nous nous sommes assurés que notre ensemble de données ne contient que des valeurs
valides et pertinentes pour notre analyse.
Cependant, nous avons également tenu compte de l'impact potentiel sur la taille totale de
notre ensemble de données. Au final, la suppression de ces lignes représentait environ 107
lignes sur un ensemble de données de 30 000 lignes. Cette décision n'a pas eu d'effet
significatif sur la taille globale de notre ensemble de données ni sur nos résultats.
Dans le processus de préparation des données, nous avons identifié des valeurs aberrantes
dans la variable 'Duree'. Ces valeurs aberrantes semblaient être des erreurs ou des entrées
incorrectes, avec des durées de crédit atypiques, telles que 5, 10, 17 et 16. Nous avons pris la
décision de supprimer ces lignes pour améliorer la cohérence de notre ensemble de données.
Il est essentiel de noter que le nettoyage des valeurs aberrantes est une étape délicate qui doit
être effectuée avec soin. Dans ce cas, nous avons décidé de supprimer ces valeurs aberrantes
en raison de leur écart significatif par rapport aux autres durées de crédit, ce qui indiquait
probablement une saisie erronée ou une anomalie.
nous avons poursuivi notre démarche en traitant les valeurs aberrantes dans plusieurs
variables importantes. Notre objectif était de garantir la qualité et la cohérence de notre
59
ensemble de données en éliminant les valeurs atypiques qui pourraient influencer
négativement nos analyses futures.
Pour ce faire, nous avons utilisé une fonction dédiée appelée drop_outliers pour supprimer les
valeurs aberrantes dans les variables suivantes : 'age', 'montantcredit', 'revenu' et 'Interet
demprunt'. Les valeurs aberrantes dans ces variables pouvaient potentiellement biaiser nos
résultats et déformer nos analyses.
En appliquant cette fonction à chaque variable concernée, nous avons pu éliminer les valeurs
qui se situaient en dehors d'une certaine distance de l'écart interquartile. Cette approche nous a
permis de cibler spécifiquement les valeurs extrêmes qui pourraient avoir un impact
disproportionné sur nos statistiques et nos modèles.
Avant le nettoyage, notre ensemble de données comportait initialement 32 581 lignes. Après
avoir supprimé les valeurs aberrantes dans certaines variables clés, nous avons obtenu un
ensemble de données réduit comprenant 27 408 lignes. Cette réduction de taille est
principalement due à la suppression de valeurs qui ne répondaient pas à nos critères de
cohérence et de validité.
L'impact de cette réduction de taille sur nos analyses doit être pris en compte. Bien que nous
ayons perdu une partie des données, nous sommes convaincus que ce processus renforce la
qualité de nos résultats. La suppression de valeurs aberrantes contribue à réduire le risque de
biais dans nos analyses et améliore la précision globale de nos conclusions.
Il est essentiel de comprendre que le nettoyage des valeurs aberrantes est une décision qui doit
être prise avec prudence et en fonction des objectifs de l'analyse. Dans ce cas, nous sommes
convaincus que la réduction de taille est justifiée par les avantages en termes de qualité des
données et de validité des résultats.
Adaptez le texte en fonction de votre rapport et des considérations spécifiques liées à votre
ensemble de données et à vos analyses.
60
Figure 60:DataFrame après suppression des valeurs aberrantes
Figure 62:Equation 4
61
Après avoir normalisé notre ensemble de données, celui-ci est maintenant prêt pour la
dernière étape de préparation : la division en ensembles d'entraînement et de test.
Voici la dataset final :
62
4.4 La phase de modélisation :
Choix des Modèles
1.SVM (Support Vector Machine) : Les SVM sont utilisés pour la classification et la
régression. Ils cherchent à trouver un hyperplan qui sépare les classes dans un espace
multidimensionnel de manière optimale. Les SVM peuvent être efficaces pour des ensembles
de données complexes avec des frontières de décision non linéaires.
2.K-Nearest Neighbors (KNN) : KNN est un algorithme simple qui attribue une étiquette à
une observation en fonction des étiquettes de ses voisins les plus proches. Il est
principalement utilisé pour la classification. KNN fonctionne bien lorsque les données sont
bien regroupées et qu'il existe des relations spatiales significatives.
3.Logistic Regression : Bien que le nom comporte "régression", la régression logistique est
principalement utilisée pour la classification binaire. Elle modélise la probabilité
d'appartenance à une classe en fonction des caractéristiques. C'est un modèle simple et
interprétable, souvent utilisé comme base de comparaison.
4.XGBoost (Extreme Gradient Boosting) : XGBoost est un algorithme de boosting qui
combine plusieurs modèles faibles pour créer un modèle fort. Il est très performant et peut
gérer des données de grande taille. XGBoost peut être utilisé pour la classification et la
régression.
5.Random Forest Classifier : Les forêts aléatoires sont une technique d'ensemble qui combine
plusieurs arbres de décision pour produire des prédictions. Chaque arbre est formé sur un
sous-ensemble aléatoire des données et leurs prédictions sont agrégées. Les forêts aléatoires
sont souvent robustes et performantes.
63
Figure 65:Résultat de prédiction
64
6.Sélection du K Optimal : En analysant le graphique, nous avons identifié la valeur de K qui
a donné le taux d'erreur le plus bas. Cette valeur de K a été choisie comme la valeur optimale
pour notre modèle KNN.
Dans notre cas k=15
Construction du Modèle :
65
4.4.4 XGBoost (Extreme Gradient Boosting
66
4.5 Phase d’évaluation
L'évaluation rigoureuse des performances de nos modèles est essentielle pour comprendre
leur efficacité dans la résolution du problème d'éligibilité au prêt. Nous avons calculé diverses
métriques afin de mesurer la qualité des prédictions de chaque modèle. Les résultats obtenus
sont les suivants :
Régression Logistique :
•Exactitude : 0.84
•Précision : 0.71
•Rappel : 0.92
•F1-score : 0.56
•Roc :0.71
•
Figure 71:Résultat de modèle logistic regression
L'analyse des résultats de la régression logistique révèle certaines tendances importantes dans
les performances du modèle. Voici une analyse plus détaillée des métriques obtenues :
•Exactitude (Accuracy) : 0.84 L'exactitude mesure la proportion de prédictions correctes
parmi toutes les prédictions. Avec une exactitude de 0.84, cela indique que le modèle est
capable de prédire correctement environ 84 % des échantillons. Cependant, l'exactitude seule
peut être trompeuse, car elle ne prend pas en compte le déséquilibre des classes.
•Précision (Precision) : 0.71 La précision est le ratio des vrais positifs (échantillons
correctement prédits comme positifs) parmi tous les échantillons prédits positifs. Une
précision de 0.71 indique que lorsque le modèle prédit qu'un demandeur de prêt est
admissible, environ 71 % du temps, cette prédiction est correcte. Cependant, une précision
plus élevée peut suggérer que le modèle peut être prudent en prédisant positif.
•Rappel (Recall) : 0.92 Le rappel, également connu sous le nom de sensibilité ou taux de vrais
positifs, mesure la proportion d'échantillons réellement positifs qui ont été correctement
prédits comme positifs par le modèle. Un rappel de 0.92 indique que le modèle a réussi à
capturer 92 % des demandeurs de prêt admissibles. C'est une métrique importante, surtout si
le coût des faux négatifs est élevé.
•F1-score : 0.56 Le F1-score est la moyenne harmonique entre la précision et le rappel. Il
donne une mesure globale de l'équilibre entre ces deux métriques. Un F1-score de 0.56
suggère qu'il y a un certain déséquilibre entre la précision et le rappel dans ce modèle. Cela
pourrait indiquer la nécessité d'ajuster les seuils de classification.
67
•Roc : 0.71 La courbe ROC (Receiver Operating Characteristic) mesure la capacité d'un
modèle à distinguer entre les classes positives et négatives sur la base de sa valeur de seuil.
Un score ROC de 0.71 indique une performance modérée en termes de discrimination entre
les classes.
En examinant ces résultats, nous constatons que la régression logistique montre une
performance raisonnable en termes de rappel, ce qui suggère une capacité à identifier les
demandeurs de prêt admissibles. Cependant, la précision et le F1-score sont relativement bas,
ce qui peut indiquer que le modèle peut être plus enclin à générer des faux positif
Svm:
•Exactitude : 0.86
•Précision : 0.82
•Rappel : 0.45
•F1-score : 0.58
•Roc :0.74
•
L'analyse des résultats du modèle SVM (Support Vector Machine) met en évidence certaines
tendances importantes en termes de performances. Voici une analyse approfondie des
métriques obtenues :
•Exactitude (Accuracy) : 0.86 L'exactitude mesure la proportion de prédictions correctes
parmi toutes les prédictions. Avec une exactitude de 0.86, le modèle parvient à prédire
correctement environ 86 % des échantillons. Cependant, comme mentionné précédemment,
l'exactitude seule peut être trompeuse en présence de déséquilibre des classes.
•Précision (Precision) : 0.82 La précision est le rapport des vrais positifs (échantillons
correctement prédits comme positifs) parmi tous les échantillons prédits positifs. Une
précision de 0.82 indique que lorsque le modèle prédit qu'un demandeur de prêt est
admissible, environ 82 % du temps, cette prédiction est correcte. Une précision élevée indique
généralement que le modèle minimise les faux positifs.
•Rappel (Recall) : 0.45 Le rappel, également appelé sensibilité ou taux de vrais positifs,
mesure la proportion d'échantillons réellement positifs qui ont été correctement prédits
68
comme positifs par le modèle. Un rappel de 0.45 indique que le modèle capture environ 45 %
des demandeurs de prêt admissibles. Ce résultat pourrait être lié au déséquilibre entre les
classes.
•F1-score : 0.58 Le F1-score est la moyenne harmonique entre la précision et le rappel. Un
F1-score de 0.58 suggère un équilibre modéré entre la précision et le rappel dans ce modèle.
Cependant, étant donné le rappel relativement bas, il est important de considérer les
implications de cette métrique.
•Roc : 0.74 La courbe ROC (Receiver Operating Characteristic) mesure la capacité d'un
modèle à distinguer entre les classes positives et négatives sur la base de sa valeur de seuil.
Un score ROC de 0.74 indique une performance modérée en termes de discrimination entre
les classes.
L'analyse de ces résultats suggère que le modèle SVM parvient à obtenir une précision élevée
en minimisant les faux positifs.
XGBoost Classifier :
•Exactitude : 0.92
•Précision : 0.91
•Rappel : 0.71
•F1-score : 0.80
•Roc :0.84
•
Figure 73:Résultat du modèle XGBoost
L'analyse des résultats du modèle XGBoost Classifier met en évidence des performances
prometteuses avec des tendances significatives. Voici une analyse approfondie des métriques
obtenues :
•Exactitude (Accuracy) : 0.92 L'exactitude mesure la proportion de prédictions correctes
parmi toutes les prédictions. Avec une exactitude de 0.92, le modèle est capable de prédire
correctement environ 92 % des échantillons. Cela indique une très bonne performance globale
du modèle.
•Précision (Precision) : 0.91 La précision est le rapport des vrais positifs (échantillons
correctement prédits comme positifs) parmi tous les échantillons prédits positifs. Une
précision de 0.91 indique que lorsque le modèle prédit qu'un demandeur de prêt est
69
admissible, environ 91 % du temps, cette prédiction est correcte. Cela suggère une grande
confiance dans les prédictions positives du modèle.
•Rappel (Recall) : 0.71 Le rappel, également connu sous le nom de sensibilité ou taux de vrais
positifs, mesure la proportion d'échantillons réellement positifs qui ont été correctement
prédits comme positifs par le modèle. Un rappel de 0.71 indique que le modèle capture
environ 71 % des demandeurs de prêt admissibles. C'est un équilibre solide entre la détection
des vrais positifs et la minimisation des faux négatifs.
•F1-score : 0.80 Le F1-score est la moyenne harmonique entre la précision et le rappel. Un
F1-score de 0.80 indique un excellent équilibre entre ces deux métriques. Cela montre que le
modèle parvient à maintenir une bonne performance à la fois en termes de précision et de
rappel.
•Roc : 0.84 La courbe ROC (Receiver Operating Characteristic) mesure la capacité d'un
modèle à distinguer entre les classes positives et négatives sur la base de sa valeur de seuil.
Un score ROC de 0.84 indique une performance élevée en termes de discrimination entre les
classes.
L'analyse de ces résultats suggère que le modèle XGBoost Classifier est capable de fournir
des performances élevées dans toutes les métriques évaluées. Avec une précision élevée, un
rappel respectable et un F1-score équilibré
•
Figure 74:Résultat du modèle KNN
L'analyse des résultats du modèle K-Nearest Neighbors (KNN) met en lumière des
performances spécifiques à considérer. Voici une analyse détaillée des métriques obtenues :
•Exactitude (Accuracy) : 0.85 L'exactitude mesure la proportion de prédictions correctes
parmi toutes les prédictions. Avec une exactitude de 0.85, le modèle parvient à prédire
70
correctement environ 85 % des échantillons. Cependant, gardez à l'esprit que l'exactitude
seule peut être trompeuse en cas de déséquilibre des classes.
•Précision (Precision) : 0.84 La précision est le rapport des vrais positifs (échantillons
correctement prédits comme positifs) parmi tous les échantillons prédits positifs. Une
précision de 0.84 signifie que lorsque le modèle prédit qu'un demandeur de prêt est
admissible, environ 84 % du temps, cette prédiction est correcte. Cela indique une prévision
positive assez précise.
•Rappel (Recall) : 0.39 Le rappel, également appelé sensibilité ou taux de vrais positifs,
mesure la proportion d'échantillons réellement positifs qui ont été correctement prédits
comme positifs par le modèle. Un rappel de 0.39 indique que le modèle capture environ 39 %
des demandeurs de prêt admissibles. Cette valeur relativement basse peut suggérer une
difficulté à détecter tous les vrais positifs.
•F1-score : 0.53 Le F1-score est la moyenne harmonique entre la précision et le rappel. Un
F1-score de 0.53 indique un certain déséquilibre entre la précision et le rappel dans ce modèle.
Cela pourrait être dû à la faible capacité du modèle à capturer tous les demandeurs de prêt
admissibles.
•Roc : 0.86 La courbe ROC (Receiver Operating Characteristic) mesure la capacité d'un
modèle à distinguer entre les classes positives et négatives sur la base de sa valeur de seuil.
Un score ROC de 0.86 indique une performance relativement élevée en termes de
discrimination entre les classes.
En analysant ces résultats, nous pouvons constater que le modèle KNN parvient à fournir une
précision élevée dans la prédiction des demandeurs de prêt admissibles
Random Forest Classifier :
•Exactitude : 0.92
•Précision : 0.94
•Rappel : 0.67
•F1-score : 0.78
•Roc :0.83
71
L'analyse des résultats du modèle Random Forest Classifier met en évidence des
performances solides avec des caractéristiques spécifiques. Voici une analyse détaillée des
métriques obtenues :
•Exactitude (Accuracy) : 0.92 L'exactitude mesure la proportion de prédictions correctes
parmi toutes les prédictions. Avec une exactitude de 0.92, le modèle réussit à prédire
correctement environ 92 % des échantillons. Cela dénote une performance globale élevée du
modèle.
•Précision (Precision) : 0.94 La précision est le rapport des vrais positifs (échantillons
correctement prédits comme positifs) parmi tous les échantillons prédits positifs. Une
précision de 0.94 indique que lorsque le modèle prédit qu'un demandeur de prêt est
admissible, environ 94 % du temps, cette prédiction est correcte. Cette précision élevée
suggère un modèle robuste dans la prédiction des vrais positifs.
•Rappel (Recall) : 0.67 Le rappel, également connu sous le nom de sensibilité ou taux de vrais
positifs, mesure la proportion d'échantillons réellement positifs qui ont été correctement
prédits comme positifs par le modèle. Un rappel de 0.67 indique que le modèle capture
environ 67 % des demandeurs de prêt admissibles. Bien que ce soit un rappel respectable, il
pourrait y avoir un certain potentiel d'amélioration.
•F1-score : 0.78 Le F1-score est la moyenne harmonique entre la précision et le rappel. Un
F1-score de 0.78 suggère un bon équilibre entre ces deux métriques. Cela indique que le
modèle maintient une performance solide à la fois en termes de précision et de rappel.
•Roc : 0.83 La courbe ROC (Receiver Operating Characteristic) mesure la capacité d'un
modèle à distinguer entre les classes positives et négatives sur la base de sa valeur de seuil.
Un score ROC de 0.83 indique une performance équilibrée en termes de discrimination entre
les classes.
L'analyse de ces résultats suggère que le modèle Random Forest Classifier démontre une
performance solide dans la prédiction des demandeurs de prêt admissibles
4.5.1 Comparison
72
Dans la phase d'évaluation des modèles, nous avons comparé les performances de cinq
algorithmes de classification : Régression Logistique, SVM, K-Nearest Neighbors (KNN),
XGBoost Classifier et Random Forest Classifier. Chacun de ces modèles a été évalué en
fonction de plusieurs métriques clés pour déterminer leur aptitude à prédire l'admissibilité des
demandeurs de prêt.
En comparant ces cinq modèles, certaines observations peuvent être faites :
•Le modèle SVM montre une bonne précision, mais son rappel est relativement bas, indiquant
un équilibre entre la précision et la détection des vrais positifs.
•Le modèle KNN a également une bonne précision, mais son rappel est plus bas, ce qui peut
indiquer une difficulté à capturer tous les vrais positifs.
•Les modèles XGBoost Classifier et Random Forest Classifier ont des performances
globalement équilibrées, avec de bons scores de précision, de rappel et de F1-score.
•En termes de performances globales, les modèles XGBoost Classifier et Random Forest
Classifier se démarquent avec des scores élevés en précision, rappel, F1-score et Roc.
4.6 Déploiement
73
Figure 77:Résultat de prédiction
4.7 Conclusion :
En conclusion, ce chapitre a entrepris une étude approfondie visant à prédire l'admissibilité au
crédit des clients en utilisant des algorithmes de machine learning, en suivant la méthodologie
CRISP-DM. Les étapes de ce processus, de la compréhension du problème à la mise en œuvre
des modèles, en passant par la préparation des données et l'évaluation des performances, ont
été rigoureusement suivies pour obtenir des résultats précis et fiables.
74
Chapitre 5 : Conception de l'entrepôt de données
et restitution des données
5.1 Introduction :
Dans ce dernier chapitre, nous avons amorcé la phase d'un projet décisionnel, impliquant la
conception et l'alimentation de l'entrepôt de données par le biais du processus ETL. Cette
étape essentielle a permis de charger le Data Warehouse avec des données agrégées, bien
structurées, historiques et durables. Ensuite, j'ai poursuivi avec la création de rapports en
utilisant l'outil de visualisation de données Power BI Desktop. Le rapport résultant est
composé d'une page d'accueil et de trois pages d'analyse. Ces analyses visent à examiner la
gestion des risques liés à l'activité de prêts et à l'activité de demande de crédit.
75
Les tables de dimensions
76
5.2.2 Collecte et génération de données simulées
Les phases de collecte de données avant l'ETL sont une composante cruciale du processus de
gestion des données au sein de notre organisation. Cette étape préliminaire consiste à
77
recueillir des données brutes à partir de diverses sources, qu'elles soient internes ou externes à
l'entreprise. Dans cette phase, nous identifions les sources de données pertinentes pour notre
entreprise, y compris les bases de données, les fichiers comme CSV et Excel.
Dans notre cas les fichiers sont les suivants :
client.csv : Fichier CSV contenant les données des clients.
agence.csv : Fichier CSV contenant les données relatives au réseau d'agences d'Attijari Bank.
compte.csv : Fichier CSV contenant les données relatives aux comptes des clients d'Attijari
Bank
demande.csv : Fichier CSV contenant les demandes de crédit effectuées par notre application
credit.xlsx : Fichier Excel contenant les crédits approuvés
5.2.3 Réalisation du processus ETL
Après avoir achevé la préparation des données essentielles destinées à être utilisées dans la
construction de notre entrepôt de données, nous sommes maintenant prêts à aborder une phase
critique de tout projet de gestion de données : la mise en œuvre du processus ETL (Extraction,
Transformation, et Chargement).
Création des Jobs, importation des fichiers sources et configuration de la connexion à la base
de données MySQL
Dans cette section, nous décrirons comment nous avons établi notre environnement de travail
en utilisant le logiciel Talend Open Studio for Data Integration.
Pour commencer, nous avons initié le processus en créant des tâches (jobs) spécifiques qui
sont dédiées à la mise en œuvre de notre processus ETL pour les six tables de dimension
ainsi que les deux tables de faits. La Figure ci-dessous illustre les tâches (jobs) que nous
avons développées :
78
Figure 79:Liste des jobs
Ensuite, dans l'onglet "Métadonnées", nous avons importé les informations sur les données
sources provenant des fichiers délimités et des fichiers Excel que nous avions préalablement
présentés dans la section . Collecte et génération de données ". La Figure ci-dessous affiche
en détail les métadonnées associées à ces fichiers sources :
79
Figure 81:Connexion à la base de données Postgres
-Nommez les composants d'entrée et de sortie de chaque job et ajoutez des titres explicatifs
pour clarifier l'objectif de chaque tâche. Cette approche permet une meilleure compréhension
et une documentation claire de chaque job.
- Organisez les composants de tous les jobs horizontalement afin de rendre plus facile la
lecture du déroulement de l'exécution des tâches. Cela permettra une vue plus claire et une
compréhension fluide de la séquence des opérations dans chaque job.
- Assurez-vous de coordonner les jobs en utilisant les composants tPrejob et tPostjob pour
établir la connexion à la base de données au début de l'exécution et la fermer une fois que le
chargement des données a été accompli. Cette approche garantira une gestion appropriée de la
connexion à la base de données tout au long du processus ETL.
80
5.2.3.1 Chargement de la table de dimension agence dans la base de données :
La figure ci-dessous montre la structure du workspace du Job Dim_agence :
81
La deuxième étape implique la transformation des données du fichier "agence.csv" à l'aide du
composant de transformation tUniqueRow. Cette étape prépare le fichier pour la phase de
mappage des données suivante.
Le composant tUniqueRow est un composant de transformation couramment utilisé dans les
outils ETL (Extraction, Transformation et Chargement) tels que Talend. Son rôle principal est
de supprimer les doublons des lignes d'un jeu de données dans notre exemple l id d’agence et
nom agence .Il permet de garantir que chaque ligne dans le flux de données en sortie est
unique, en fonction des critères définis.
82
Figure 85:Editeur de mapping du composant tMap
En conclusion, pour récupérer les colonnes essentielles, il suffit de faire glisser les champs
depuis les tables d'entrée vers la table de sortie nommée "agence". Une fois cette opération
effectuée, nous disposons de toutes les données nécessaires, ce qui nous permet de finaliser le
processus de mappage en fermant simplement l'éditeur de mapping en cliquant sur le bouton
OK
La quatrième étape consiste pour la surveillance et le débogage du flux de données au sein de
votre job ETL. Pour ce faire, nous allons utiliser le composant tLogRow
La cinquième et dernière étape de notre processus consiste au chargement des données dans la
table "Dim_agence" après avoir effectué toutes les transformations requises dans notre job.
Pour accomplir cette tâche, nous faisons usage du composant de sortie tDBOutput, qui se
charge de l'insertion des données dans la table "Dim_client" une fois que la connexion à notre
base de données de type MySQL a été établie grâce au composant tDBConnection.
Enfin, pour garantir la solidité de notre opération, nous utilisons le composant tDBClose. Ce
composant se charge de la fermeture propre de la connexion à la base de données, libérant
ainsi les ressources et assurant une gestion efficace des connexions à la base de données après
le chargement des données dans la table "Dim_agence ".
83
Figure 86:Composant tDBOutput
84
5.2.3.2 Chargement de la table de dimension client dans la base de données
Le Job "Dimclient" réutilise les mêmes composants qui ont été utilisés dans la section
"Chargement de la table de dimension agence" dans la base de données ". Par conséquent,
nous allons simplement présenter l'exécution du Job "Dimclient" ainsi que le chargement de la
table de dimension "date" dans notre base de données.
85
5.2.3.3 Chargement de la table de dimension credit dans la base de données
lors, dans le processus de chargement de données de crédit que j'ai mis en place, j'ai utilisé
'zone d'attente' (Standing Area). Dans cette zone, les données brutes sont stockées
temporairement avant d'être traitées et préparées pour leur chargement ultérieur dans notre
entrepôt de données.
J'ai également créé un job que j'ai nommé 'SACredit', qui a pour responsabilité de nettoyer,
transformer et préparer les données de crédit avant qu'elles ne soient prêtes à être chargées
dans notre dimension de crédit et table fait credit aussi .
Ensuite, nous avons créé un job appelé 'dimcredit' pour charger nos données dans la base de
données dw_credit.
86
La figure ci-dessous montre la structure du workspace du Job Dimcredit :
•Tout d'abord, nous utilisons 'TDBInput' pour extraire les données de crédit à partir de notre
source de données depuis notre Standing Area ‘sacredi’ et les préparer pour le traitement
ultérieur
•Ensuite, 'TUniquerow' intervient pour de supprimer les doublons des lignes d'un jeu de
données dans notre exemple l id credit
•'TMap' est une étape cruciale où nos données sont soumises à des transformations plus
complexes, comme la création de nouvelles colonnes dérivées ou la conversion de types de
données.
•
Figure 93:Composant tMap
87
•Enfin, composant de sortie tDBOutput, qui se charge de l'insertion des données dans la table
"Dim_client" une fois que la connexion à notre base de données de type MySQL a été établie
grâce au composant tDBConnection.
88
Figure 96:chargement table sa demande
89
Figure 98:Chargement de la table des demandes
90
J ai créé un job Talend appelé "Dim_date" dans lequel j'ai utilisé le composant
tRowGenerator pour générer des dates de 2012 jusqu'à la date actuelle. J'ai configuré les
paramètres comme suit :
1.Nombre de lignes générées : J'ai défini le nombre de lignes à générer à 10000.
2.Colonnes de sortie : J'ai ajouté une colonne appelée "date" de type date.
3.Fonction de génération : J'ai utilisé la fonction "talendDate.addDate" pour générer les dates.
Cette fonction me permet d'ajouter un nombre de jours à une date de départ.
4.Date de départ : J'ai défini la date de départ comme étant "2012-01-01", ce qui signifie que
la génération commencera à partir de cette date.
5.Nombre de jours à ajouter : J'ai utilisé un nombre numérique séquentiel pour ajouter des
jours progressivement. En utilisant le datetype "dd", cela signifie que chaque ligne générée
ajoutera un jour de plus à la date précédente.
Avec cette configuration, mon composant tRowGenerator générera 10000 lignes de dates à
partir de "2012-01-01" et ajoutera un jour supplémentaire à chaque ligne, créant ainsi une
séquence de dates jusqu'à la date actuelle.
Après avoir généré la séquence de dates à l'aide du composant tRowGenerator, j'ai utilisé le
composant TMap pour créer de nouvelles colonnes telles que "week," "month," et "date" en
utilisant des fonctions de manipulation de dates comme formatDate
Par exemple
Pour la colonne "week," j'ai utilisé la fonction formatDate pour extraire le numéro de la
semaine à partir de la date.
91
Figure 101:Composant tMap dans job Dim date
Nous pouvons maintenant charger la table de faits dans notre base de données à l’aide du
composant tDBOutput. La figures ci-dessous le chargement de la table dimension «date »
dans notre base de données :
92
5.2.3.6 Chargement de la table de dimension compte dans la base de données
Pour le chargement de la table "Compte", j'ai utilisé le concept de "Zone d'Attente" (ou
"Standing Area") en raison de la relation existante entre les comptes et les clients. La table
"Compte" comporte une colonne "ID_Client", qui est une clé étrangère faisant référence à la
table "Client". J'ai découpé cette opération en deux jobs distincts : le premier pour la gestion
de la "Zone d'Attente" et le second pour la mise à jour de la table "Compte" dans notre base
de données.
La figure ci-dessous montre la structure du workspace du Job sacompte :
Pour le chargement de la table 'Sacompte', voici comment j'ai procédé étape par étape :
1.Lecture des Données d'Entrée : D'abord, j'ai récupéré les données de la table 'Compte' à
partir d'un fichier CSV nommé 'compte.csv' à l'aide du composant tFileInputDelimited. Cela
m'a permis d'extraire les informations sur les comptes depuis ma source de données.
2.Lecture de la Table Client : Ensuite, j'ai lu les données de la table 'Client' directement
depuis ma base de données en utilisant le composant tMysqlInput. Cette étape était nécessaire
parce que ma table 'Compte' contient une clé étrangère 'ID_Client' qui fait référence à la table
'Client'.
3.Tri des Données de Compte : J'ai ensuite trié les données des comptes en fonction de la date
en utilisant le composant tSortRow. Cela permettait de ranger les données de manière
chronologique pour simplifier la gestion ultérieure.
93
Figure 104:Composant tSortRow
4Transformation des Données avec tMap : Le composant tMap est venu ensuite. J'ai utilisé ce
dernier pour effectuer la transformation et le mappage des données. À l'intérieur du tMap, j'ai
utilisé la fonction 'innerjoin' pour réaliser une jointure interne entre les données des comptes
et celles des clients. Cette jointure se basait sur la colonne 'ID_Client' pour établir la relation
entre les deux tables.
5Gestion des Erreurs : Après la jointure, j'ai mis en place une sortie conditionnelle. Si une
relation était trouvée entre le compte et le client (c'est-à-dire si la jointure était réussie), les
données étaient dirigées vers la sortie 'Compte'. Si aucune relation n'était trouvée (la jointure
échouait), les données étaient acheminées vers une sortie 'Errors', ce qui me permettait de
gérer les cas où aucune correspondance n'était trouvée.
94
6.Sauvegarde des Données dans 'Sacompte' : Enfin, une fois que les données des comptes
étaient correctement associées aux données des clients grâce à la clé étrangère 'ID_Client', je
les ai sauvegardées dans la table 'Sacompte' de ma base de données ;
Ce processus a assuré une association précise des données des comptes avec celles des clients
grâce à la clé étrangère 'ID_Client' tout en gérant également les éventuelles erreurs de manière
appropriée. Il a donc garanti l'intégrité des données dans la table 'Sacompte'."
Ensite j'ai créé un job nommé "Dimcompte" pour la table de dimension "Compte". Ce job
"Dimcompte" réutilise les mêmes composants que ceux utilisés précédemment dans la partie
"Chargement de la table de dimension client". Par conséquent, je vais simplement présenter
l'exécution du job "Dimcompte", du tMap et la procédure de chargement de la table de
dimension "Compte" dans notre base de données.
95
Figure 107: la structure du workspace du job dim compte
96
Figure 109:Chargement de la table dimcompte
97
La dernière phase du processus ETL implique le chargement de la table de faits appelée
"faitcredit_" dans notre base de données.. pour cela Nous devons importer les métadonnées de
ces quatres tables de dimension et standing area qui est ‘sa_credit’ en utilisant le composant
d'entrée tDBInput. Après cette étape, nous pourrons procéder au mappage des données en
utilisant le composant tMap. Nous utiliserons ce composant pour extraire les clés primaires de
nos cinq tables de dimension afin qu'elles puissent être utilisées comme clés étrangères pour
notre table de faits.
figure ci-dessous montre le travail réalisé dans l'éditeur de mapping du composant tMap :
Apres Nous sommes maintenant prêts à charger la table de faits "faitcredit" dans notre base
de données en utilisant le composant tDBOutput. L'illustration ci-dessous présente le
processus de chargement de la table de faits dans notre base de données.
98
Figure 112:Chargement de la table faitcredit
99
figure ci-dessous montre le travail réalisé dans l'éditeur de mapping du composant tMap :
100
5.3 Restitution des données
5.3.1 Importation de données
Pour commencer, la première étape consiste à récupérer les données que nous allons
manipuler. Pour ce faire, il vous suffit d'aller dans l'onglet "Obtenir les données" et de choisir
la source de données de notre entrepôt. Dans notre situation, nous devons opter pour l'option
"PostgreSQL database", comme illustré dans la figure ci-dessous :
Après cela, il est nécessaire de fournir les informations de notre base de données afin de
configurer la connexion à celle-ci, comme cela est illustré dans la figure ci-dessous :
101
Une fois que la connexion a été établie, nous avons choisi les tables de faits ainsi que les
dimensions qui renferment les données pertinentes en vue de la création des tableaux de bord.
La sélection de ces tables est exposée dans la figure .
Une fois que les tables ont été sélectionnées, Power BI initie un processus de chargement des
données, comme en témoigne la figure
102
Figure 119:Chargement du données
Maintenant, il est essentiel de vérifier que le modèle conceptuel de données reste cohérent
dans la section "Modèle" de Power BI Desktop…
La figure ci-dessous montre le modèle en constellation de notre Data Warehouse.
103
5.3.2 Élaboration des tableaux de bord
Dans un environnement orienté vers la prise de décisions et l'amélioration continue, les
tableaux de bord sont reconnus comme des instruments de pilotage hautement efficaces. En
d'autres termes, ils fournissent aux responsables les moyens de réduire l'incertitude et de
prévoir les tendances futures, favorisant ainsi une prise de décision plus éclairée.
Notre travail a débuté par la création de la page d'accueil, qui agit comme un point central
offrant des liens vers les différentes pages contenant nos tableaux de bord et rapports.
8) Page d'accueil
104
9) Tableaux de bord suivi des credits
Le tableau de bord de suivi de crédit bancaire que j'ai développé est une interface interactive
et visuelle qui permet de surveiller et gérer efficacement les crédits accordés par une banque.
Il offre une vue d'ensemble complète des données relatives aux prêts, des indicateurs clés de
performance et des informations détaillées sur les emprunteurs. Ce tableau de bord facilite la
prise de décision
Power BI est une plateforme qui offre une visualisation interactive des données. Il nous
permet de concentrer notre attention sur un poste spécifique, comme illustré dans la figure 56.
Dans cet exemple, nous avons choisi l agence "Manager". Cette sélection déclenche
automatiquement la synchronisation et la mise à jour des graphiques, ne présentant ainsi que
les données pertinentes pour ce poste choisi.
105
Tout d'abord, nous avons un slicer qui permet de choisir le sexe des emprunteurs, ce qui vous
permet de segmenter les données en fonction du genre. Cela peut être utile pour analyser les
différences de comportement de remboursement entre hommes et femmes.
Ensuite, il y a un autre slicer qui vous permet de sélectionner le type de crédit ou l'agence
bancaire spécifique que vous souhaitez étudier. Cela vous permet de zoomer sur des segments
particuliers de votre portefeuille de crédits ou de comparer les performances de différentes
agences.
Enfin, j'ai inclus un slicer pour filtrer les données par année. Cela vous permet de suivre
l'évolution des prêts au fil du temps, d'identifier les tendances annuelles et de prendre des
décisions éclairées en fonction des données historiques.
Ces slicers rendent ce tableau de bord extrêmement flexible et personnalisable, vous
permettant de creuser dans les données pour obtenir des informations spécifiques et
pertinentes pour votre analyse
Les figures ci-dessous présentent les slicers utilisés
Dans ce tableau de bord, j'ai intégré des graphiques Zebra BI Cards pour offrir une
visualisation claire et concise du nombre de crédits accordés en fonction des trimestres. Ces
cartes dynamiques permettent une analyse trimestrielle détaillée de l'octroi de crédits,
facilitant ainsi la détection rapide de tendances et de variations dans l'activité de prêt.
Ce visuel va plus loin en comparant également les crédits accordés cette année avec ceux de
l'année précédente. Lorsqu'il y a une évolution positive, le chiffre est affiché en vert pour
indiquer une croissance. En revanche, si le nombre de crédits diminue par rapport à l'année
précédente, il est affiché en rouge pour signaler une diminution. Cette fonctionnalité de
comparaison en couleurs offre une vue instantanée des performances et des tendances,
permettant aux utilisateurs de prendre rapidement des décisions éclairées en fonction des
données présentées et aussi Cela peut être très utile pour mettre en évidence différentes
perspectives ou pour montrer la même métrique dans différents contextes. Par exemple, vous
106
pouvez afficher le nombre total de crédits accordés dans un graphique à barres pour montrer
la répartition trimestrielle, et en même temps, l'afficher dans un graphique en anneau pour
montrer la part de chaque trimestre par rapport au total annuel. Cette capacité à présenter la
même donnée sous différentes formes peut enrichir l'analyse et la compréhension des
utilisateurs de votre tableau de bord.
Les figures ci-dessous représentent le nombre de crédits accordés en fonction des trimestres
En plus des graphiques Zebra BI Cards, j'ai également incorporé des graphiques Zebra BI
Charts pour visualiser les montants des crédits accordés en fonction des mois. Tout comme les
Zebra BI Cards, ces graphiques offrent une présentation claire et dynamique des données, en
permettant aux utilisateurs de comparer les montants de crédits mois par mois.
De plus, ces graphiques mettent en œuvre le même principe de comparaison avec l'année
précédente. Lorsque les montants de crédits augmentent par rapport à l'année précédente, ils
sont affichés en vert pour indiquer une croissance positive, tandis qu'une diminution par
rapport à l'année précédente est signalée en rouge pour mettre en évidence une réduction.
Cette fonctionnalité permet une analyse approfondie des performances du crédit au fil des
mois et des années, facilitant la détection de tendances et la prise de décisions basées sur les
données
Le figure ci-dessous présentent la visualisation des montants des crédits accordés en fonction
des mois
107
Figure 126:la visualisation des montants des crédits accordés en fonction des mois
Un autre élément essentiel de notre tableau de bord est le graphique Zebra BI Charts qui
illustre le pourcentage de clients ayant des crédits en fonction des mois.
Les figure ci-dessous présentent la visualisation le pourcentage de clients ayant des crédits en
fonction des mois.
Figure 127:présentent la visualisation le pourcentage de clients ayant des crédits en fonction des mois.
Pour une analyse détaillée et comparative des crédits accordés par secteur, nous avons inclus
une table Zebra BI. Cette table présente le nombre de crédits accordés pour chaque secteur,
avec des colonnes distinctes pour l'année précédente, l'année en cours et la différence entre les
deux.
108
Dans la colonne de différence, les valeurs sont mises en évidence en rouge lorsque le nombre
de crédits diminue par rapport à l'année précédente, indiquant ainsi une diminution. En
revanche, lorsque le nombre de crédits augmente, les valeurs sont affichées en vert pour
mettre en évidence une croissance positive.
En plus de ces informations sur le nombre de crédits, la table comprend également une section
détaillant les montants par secteur. Cette vue permet une analyse approfondie des
performances par secteur, facilitant ainsi la prise de décision basée sur des données solides et
la détection rapide des tendances émergente
109
Figure 129:Tableau de bord suivi agence
Dans notre tableau de bord de suivi d'agence, nous avons inclus un histogramme mettant en
évidence les cinq principales agences ayant accordé les montants de crédit les plus élevés.
Cela offre une vue immédiate des agences qui ont eu un impact significatif sur l'octroi de
crédits et permet d'identifier les leaders en matière de performances de prêt. Cette
visualisation facilite la reconnaissance des agences les plus performantes et peut orienter la
prise de décisions pour optimiser la gestion des ressources et des objectifs de crédit."
Figure 130:les cinq principales agences ayant accordé les montants de crédit les plus élevés
Aussi nous avons mis en place une table Zebra BI exhaustive. Cette table présente les
montants de crédits à rembourser, ventilés par agence et par type de crédit.
Cette visualisation fournit une vue granulaire des performances de chaque agence en ce qui
concerne les remboursements de crédits, en mettant en évidence les différences entre le
montant de crédit accordé et le montant remboursé. Elle facilite l'identification des agences
qui ont amélioré leurs performances ou qui pourraient nécessiter une attention particulière
pour atteindre les objectifs de remboursement. En somme, cette table Zebra BI renforce notre
capacité à suivre de près les remboursements de crédits et à prendre des décisions basées sur
des données fiables
110
Figure 131:les remboursement de crédit par agence
Le tableau de bord suivi client permettait une vue globale de l'ensemble de la clientèle, avec
des filtres et des options de recherche avancée pour accéder à des informations spécifiques.
Nous pouvions ainsi suivre l'évolution du nombre de crédits attribués à chaque client, analyser
les tendances de crédit au fil du temps, et identifier les clients à fort potentiel pour des offres
spéciales ou de nouvelles opportunités commerciales.
Dans notre tableau de suivi des clients, nous avons mis en place une table détaillée qui
répertorie les villes de la Tunisie et affiche le nombre de crédits accordés en fonction de la
localisation des clients. Cette vue permet de visualiser rapidement la répartition des crédits à
travers le pays et de mieux comprendre les concentrations géographiques. Elle peut s'avérer
111
précieuse pour la planification stratégique des activités et la gestion des ressources, en mettant
en lumière les zones à fort potentiel et les opportunités d'expansion.
nous avons incorporé une table Zebra BI qui offre une synthèse complète des statuts des
clients, qu'ils soient prospects ou clients, ainsi que le nombre de crédits associé à chaque
statut. De plus, cette table inclut des colonnes pour le pourcentage de l'année précédente et de
l'année en cours, permettant ainsi une comparaison directe.
La colonne de différence met en évidence en rouge toute diminution par rapport à l'année
précédente et en vert toute augmentation, fournissant ainsi un indicateur visuel des
changements de performances. Cette visualisation aide à évaluer la dynamique de la base de
clients et à identifier les tendances qui méritent une attention particulière. Elle constitue un
outil précieux pour la gestion de la clientèle et la planification stratégique, en offrant des
informations essentielles sur l'évolution des statuts clients et des volumes de crédits.
112
Figure 134:Nombre de crédits par statu du client
nous avons inclus une table Zebra BI qui offre une vue complète des tranches d'âge des
clients, en affichant le pourcentage de chaque tranche, ainsi que le nombre de crédits associé à
chaque groupe. De plus, cette table présente des colonnes pour le pourcentage de l'année
précédente et de l'année en cours, permettant une comparaison significative.
La colonne de différence met en évidence en rouge toute diminution par rapport à l'année
précédente et en vert toute augmentation, offrant ainsi un aperçu visuel des évolutions au fil
du temps. Cette visualisation est essentielle pour comprendre la répartition des clients par âge,
pour évaluer les performances de chaque groupe et pour identifier les segments de clientèle
qui connaissent une croissance ou une diminution notable. Elle offre une perspective
précieuse pour l'élaboration de stratégies de marketing, de produits et de services adaptées à
différents groupes d'âge.
113
Un autre table Zebra BI a été mise en place pour présenter les clients en fonction de leur
secteur d'activité. Cette table offre une vue complète des différents secteurs, en montrant le
pourcentage de clients dans chaque secteur, ainsi que le nombre de crédits associés à chaque
secteur. De plus, elle intègre des colonnes pour le pourcentage de l'année précédente et de
l'année en cours, permettant une analyse comparative approfondie.
La colonne de différence met en évidence en rouge toute diminution par rapport à l'année
précédente et en vert toute augmentation, offrant ainsi un indicateur visuel des changements
de performances sectorielles au fil du temps. Cette visualisation est essentielle pour
comprendre la composition de notre clientèle par secteur d'activité, évaluer l'impact des
fluctuations économiques et orienter nos décisions stratégiques pour répondre aux besoins
spécifiques de chaque secteur
Et Pour une vue d'ensemble multidimensionnelle de notre portefeuille de crédits, nous avons
incorporé un graphique radar (radarchat) dynamique. Ce graphique illustre le nombre de
crédits attribués, en fonction de plusieurs facteur clés liée a client , notamment le secteur, le
statut du client, le type de marché et le statut familial.
Le graphique radar offre une perspective unique en montrant visuellement comment chaque
facteur influence la répartition des crédits. Les différentes facettes de notre portefeuille de
crédits sont représentées par des lignes distinctes dans le graphique, permettant ainsi de mettre
en évidence les tendances et les concentrations spécifiques. Cela facilite la détection rapide
des domaines d'opportunité et des zones nécessitant une attention particulière dans la gestion
des crédits.
114
Figure 137:Graphique radar
Nous avons mis en place des Zebra BI Cards pour présenter les statistiques essentielles
concernant les demandes de crédit. Ces cartes fournissent une vue instantanée du nombre de
demandes de crédit validées, du nombre total de demandes soumises et du nombre de
demandes refusées. Elles offrent ainsi un aperçu immédiat de l'efficacité de notre processus de
gestion des demandes.
En mettant en avant ces indicateurs clés, notre tableau de bord permet de surveiller de près les
performances de notre service de crédit, d'identifier rapidement les goulots d'étranglement ou
115
les problèmes potentiels, et de prendre des mesures correctives lorsque cela est nécessaire.
Ces Zebra BI Cards constituent un outil précieux pour une prise de décision rapide et éclairée
en matière de gestion des demandes de crédit
nous avons intégré une table Zebra BI qui présente en détail le nombre de crédits validés et le
nombre de crédits non validés. Cette table offre une vue complète et granulaire de la
répartition des demandes de crédit par statut, permettant ainsi de suivre de près les
performances de notre processus de validation.
En utilisant cette table, nous pouvons examiner en détail les demandes qui ont été validées
avec succès, ainsi que celles qui ont été refusées. Cela nous permet d'identifier les tendances,
les raisons de refus, et de prendre des mesures pour améliorer notre processus de traitement
des demandes. La transparence fournie par cette table Zebra BI renforce notre capacité à
optimiser notre gestion des demandes de crédit et à offrir un service plus efficace aux
demandeurs de crédit
116
nous avons intégré un graphique circulaire (pie chart) informatif. Ce graphique présente les
motifs derrière les demandes de crédit refusées, en montrant la répartition des raisons de refus
sous forme visuelle.
Ce graphique circulaire offre une vue instantanée des principaux motifs de refus, permettant
ainsi de comprendre rapidement les tendances et les facteurs qui influencent les décisions de
refus. Il s'agit d'un outil précieux pour évaluer les critères de sélection, identifier les domaines
nécessitant des ajustements ou des améliorations, et ainsi optimiser notre processus de
traitement des demandes de crédit pour offrir un service plus efficace et équitable.
Nous avons créé un histogramme mettant en lumière les RIB qui sont associés au plus grand
nombre de demandes de crédit incorrectes. Cet histogramme offre une vue claire et focalisée
sur les comptes qui ont généré des demandes de crédit contenant des erreurs dans les
informations fournies.
En identifiant ces comptes, notre tableau de bord permet une gestion proactive des problèmes
liés à l'exactitude des informations fournies lors des demandes de crédit. Cette visualisation
est précieuse pour cibler les efforts de correction, améliorer la qualité des données collectées
et garantir la précision des processus de souscription de crédit.
Figure 142: les RIB qui sont associés au plus grand nombre de demandes de crédit incorrectes
117
5.4 Conclusion
Au cours de cette phase, nous avons commencé par introduire l'outil d'intégration de données
Talend. Par la suite, nous avons offert des explications approfondies des différentes étapes du
processus ETL. Enfin, nous avons présenté les indicateurs clés de performance, dans l'objectif
de concevoir des tableaux de bord précis et informatifs qui aident les responsables et les
gestionnaires dans leurs processus décisionnels.
118
Conclusion générale
La réalisation de ce projet de fin d'études a été une expérience enrichissante et stimulante,
mettant en évidence l'importance croissante de la technologie et de l'analyse des données dans
le secteur financier. En extrayant des informations manuscrites à l'aide de Computer Vision et
les models de deep learning, nous avons franchi une étape cruciale dans la modernisation du
processus de demande de crédit, le rendant plus efficace et accessible pour les clients.
119
L'intégration de l'apprentissage automatique dans notre solution a permis de créer un modèle
de prédiction robuste, capable d'évaluer rapidement et précisément l'éligibilité au prêt en se
basant sur les données fournies par le client. Cette automatisation a non seulement simplifié le
processus, mais elle a également permis de réduire les erreurs humaines potentielles,
améliorant ainsi la qualité des décisions de prêt.
En poursuivant avec la mise en œuvre d'un entrepôt de données et la création de rapports
interactifs à l'aide de Power BI, nous avons donné aux décideurs un outil puissant pour
surveiller et analyser les activités de prêt et de demande de crédit. Ces analyses offrent une
vue approfondie de la gestion des risques, permettant de prendre des décisions éclairées et de
mieux comprendre les tendances du marché.
Dans l'ensemble, ce projet démontre la manière dont la technologie peut être exploitée pour
transformer les processus traditionnels de l'industrie financière. Il représente une avancée
significative vers une approche plus efficace, précise et transparente dans la gestion des prêts
et des demandes de crédit. Ce projet a également été une occasion d'apprentissage précieuse,
où j'ai pu acquérir des compétences essentielles en matière de Computer Vision,
d'apprentissage automatique et de gestion de données. Je suis convaincu que ces compétences
seront un atout précieux dans ma carrière future, et j'espère que ce projet contribuera
également à l'amélioration continue des pratiques de l'industrie financière.
120