Vous êtes sur la page 1sur 131

Dédicace

A ma mère et à mon père,


Qui m’ont toujours poussé et motivé dans mes études.
Ce travail représente l’aboutissement du soutien et des encouragements qu’ils m’ont prodigué
tout au long de ma scolarité.

A mes frères Ala ,Khalil et Mohamed Ali


Pour leurs patiences, leurs amours et leurs encouragements.

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 à exprimer ma vive reconnaissance et mon profond respect pour Monsieur


Anis Hajyoussef pour leur suivi tout au long de notre stage de fin d’étude.

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.

Je remercie également toute l’équipe du département Data Office, pour leur


accueil et pour m’avoir aidé à valider les différentes étapes de l’élaboration de mon travail.

Finalement, je fais grâce à tous les membres du jury qui m’ont accordé l’honneur de juger ce
travail.

Table des matières


Introduction générale.............................................................................................................................1
Chapitre 1 : Contexte général du projet.................................................................................................3
1.1 Introduction :..........................................................................................................................3
1.2 Présentation d’organisme d’accueil :......................................................................................3
1.3 Présentation du projet :..........................................................................................................5
1.3.1 Contexte Du Projet :.......................................................................................................5
1.3.2 Cadre Du Projet :.............................................................................................................5
1.3.3 Problématique :..............................................................................................................5
1.3.4 Solution proposée...........................................................................................................6
1.4 Methodologie :.......................................................................................................................7
1.5 Spécification des besoins........................................................................................................8
1.5.1 Besoins fonctionnels :.....................................................................................................8
1.5.2 Besoins non fonctionnels :..............................................................................................9
1.6 Environnement logiciel.........................................................................................................10
1.7 Conclusion :..........................................................................................................................12
Chapitre 2 : Etat de l’art.......................................................................................................................13
2.1 Introduction :........................................................................................................................13
2.2 Deep Learning :.....................................................................................................................13
2.2.1 Fonctionnement du réseaux de neurones :.........................................................................13
2.2.2 Convolutional neural network :...................................................................................14
2.2.3 Transfer learning :.........................................................................................................15
2.2.4 Computer vision :..........................................................................................................16
2.2.5 Object detection :.........................................................................................................17
2.2.6 Reconnaissance de texte manuscrit :............................................................................19
2.2.7 Les Transformers..........................................................................................................21
2.3 Machine learning :................................................................................................................22
2.4 La business intelligence :.....................................................................................................23
2.4.1 La modélisation multidimensionnelle d’un Data Warehouse.......................................24
2.5 Relation entre Le deep learning el le business intelligence :................................................26
2.6 Conclusion :..........................................................................................................................27
Chapitre 3 : Modélisation et extraction de données............................................................................28
3.1 Introduction..........................................................................................................................28
3.2 Architecture Globale de la Solution:.....................................................................................28
3.3 Numérisation des données et collecte de données.............................................................29
3.4 Préparation des données:.....................................................................................................31
3.4.1 Redimensionnement....................................................................................................31
3.4.2 Réduction du bruit (Filtre Gaussion)............................................................................31
3.4.3 Rotation pour rendre l'image à son orientation normale :..........................................32
3.4.4 Vérification de la qualité..............................................................................................33
3.4.5 L'étiquetage des données............................................................................................33
3.5 Segmentation des images et extraction des champs :.........................................................35
3.5.1 Entraînement de modèles :..........................................................................................36
3.5.2 L'évaluation des performances de notre modèle.........................................................37
3.5.3 Cropping :............................................................................................................................39
3.6 Lecture des champs :............................................................................................................40
3.6.1 Phase d’entrainement de modèle (TROCR):.................................................................40
3.6.2 Evaluation des modèles :..............................................................................................40
3.6.3 Résultat du test sur les champs d’image de demande de crédit :.................................42
3.7 Phase de Déploiement de la Solution d'Extraction de Données à partir d'Images et de PDFs
42
3.8 Conclusion :..........................................................................................................................46
Chapitre 4 : La prédiction de l’octroi de crédit.....................................................................................47
4.1 Introduction..........................................................................................................................47
4.2 Compréhension des données...............................................................................................47
4.2.1 Collecte des données :..................................................................................................48
4.2.2 Vérification de la qualité des données et Description des données.............................49
4.2.3 Statistiques descriptives :.............................................................................................53
4.2.4 Représentation graphique des données.......................................................................56
4.3 La phase de Préparation des données..................................................................................57
4.3.1 Gestion des valeurs aberrantes....................................................................................58
4.3.2 Encodage des variables catégorielles...........................................................................60
4.3.3 Normalisation des Variables Quantitatives...................................................................60
4.3.4 Division des données....................................................................................................61
4.4 La phase de modélisation :...................................................................................................62
4.4.1 Logistic Regression........................................................................................................62
4.4.2 SVM (Support Vector Machine)....................................................................................63
4.4.3 K-Nearest Neighbors (KNN).........................................................................................63
4.4.4 XGBoost (Extreme Gradient Boosting...........................................................................65
4.4.5 Random Forest Classifier.............................................................................................65
4.5 Phase d’évaluation...............................................................................................................66
4.5.1 Comparison...................................................................................................................71
4.6 Déploiement.........................................................................................................................73
4.7 Conclusion :.........................................................................................................................73
Chapitre 5 : Conception de l'entrepôt de données et restitution des données....................................74
5.1 Introduction :..............................................................................................................................74
5.2 Conception et alimentation de l’entrepôt de données.........................................................74
5.2.1 Conception de l’entrepôt de données..........................................................................74
5.2.2 Collecte et génération de données simulées................................................................76
5.2.3 Réalisation du processus ETL........................................................................................76
5.2.3.1 Chargement de la table de dimension agence dans la base de données :........................79
5.2.3.2 Chargement de la table de dimension client dans la base de données........................83
5.2.3.3 Chargement de la table de dimension credit dans la base de données........................84
5.2.3.4 Chargement de la table de dimension demande credit dans la base de données........87
5.2.3.5 Chargement de la table de dimension date dans la base de données..........................89
5.2.3.6 Chargement de la table de dimension compte dans la base de données.....................92
5.2.3.7 Chargement de la table de faits crédit dans la base de données.................................96
5.2.3.8 Chargement de la table de faits demandecrédit dans la base de données...................98
5.3 Restitution des données.....................................................................................................100
5.3.1 Importation de données............................................................................................100
5.3.2 Élaboration des tableaux de bord..............................................................................103
1) Page d'accueil.................................................................................................................103
2) Tableaux de bord suivi des credits..................................................................................104
3) Tableaux de bord suivi des agences................................................................................108
4) Tableau de bord suivi client............................................................................................110
5) Tableaux de bord suivi demande de credit.....................................................................114
5.4 Conclusion..........................................................................................................................118
Conclusion générale...........................................................................................................................119

Liste des figures


Figure 1:Logo Attijari bank...................................................................................................................3
Figure 2:Organigramme de Attijari Bank..............................................................................................4
Figure 3:Le cycle de vie de l’exportation des données...........................................................................7
Figure 4:Le Déroulement d’une itération...............................................................................................8
Figure 5:logo talend.............................................................................................................................10
Figure 6:logo PowerBI Desktop version RS.........................................................................................10
Figure 7:logo Python...........................................................................................................................11
Figure 8:logo django............................................................................................................................11
Figure 9:logo Pycharm........................................................................................................................12
Figure 10:logo google collab...............................................................................................................12
Figure 11:Réseau de neurones artificiels.............................................................................................14
Figure 12: CNN Architecture...............................................................................................................15
Figure 13:TROCR Architecture...........................................................................................................21
Figure 14:Transformeur Architecture..................................................................................................22
Figure 15:Architecture de la solution décisionnelle.............................................................................24
Figure 16:Modèle en étoile..................................................................................................................25
Figure 17:Modèle en flocon.................................................................................................................26
Figure 18:Modèle en constellation.......................................................................................................26
Figure 19:Architecture d’extraction des données.................................................................................28
Figure 20:Demande de crédit...............................................................................................................29
Figure 21: IAM Handwriting Database...............................................................................................30
Figure 22:Base de données MNIST......................................................................................................30
Figure 23:Demande de crédit après redimensionnement.....................................................................31
Figure 24:Choix de filtre gaussien.......................................................................................................31
Figure 25:Image après filtre................................................................................................................32
Figure 26:L’étape de rotation dans le traitement d’image...................................................................32
Figure 27:Vérification qualité d’image................................................................................................33
Figure 28: Fichier classes.txt...............................................................................................................34
Figure 29:Demande de crédit étiquetée...............................................................................................34
Figure 30:Fichier texte contient les positions des classes....................................................................35
Figure 31:équation 1............................................................................................................................37
Figure 32:équation 2............................................................................................................................38
Figure 33:équation 3............................................................................................................................38
Figure 34:Résultat de modèle YOLO....................................................................................................38
Figure 35:Demande de crédit croppée.................................................................................................39
Figure 36:Résultat de modèle TROCR.................................................................................................41
Figure 37:Résultat du lecture des champs de demande de crédit.........................................................42
Figure 38:Page de connexion...............................................................................................................42
Figure 39:Menu de Sélection...............................................................................................................43
Figure 40:Traitement des images.........................................................................................................43
Figure 41:Extraction des données a partir des images........................................................................44
Figure 42:Page de traitement de dossiers............................................................................................45
Figure 43:Extraction des images des demandes de crédit....................................................................45
Figure 44:Tableau de bord..................................................................................................................46
Figure 45:DataFrame Crédit.csv.........................................................................................................48
Figure 46:Vérification des valeurs null................................................................................................49
Figure 47:L’analyse des variables type credit.....................................................................................49
Figure 48:L’analyse des variables Durée............................................................................................50
Figure 49:L’analyse des variables etat credit......................................................................................51
Figure 50:Les valeurs aberrantes dans chaque variable......................................................................51
Figure 51:Tableau statistique de variables qualitatives dans notre dataframe....................................53
Figure 52:Matrice de corrélation entre tous les variables...................................................................54
Figure 53:Matrice de corrélation entre montantcredit et l interet.......................................................55
Figure 54:Représentation graphique des revenus................................................................................56
Figure 55:Représentation graphique des tranches d'âge.....................................................................56
Figure 56:Représentation graphique de statu de credit.......................................................................57
Figure 57:Suppression des valeurs aberrantes dans variable type credit............................................58
Figure 58:Suppression des valeurs aberrantes dans variable duree....................................................58
Figure 59:Suppression des outliers......................................................................................................59
Figure 60:DataFrame après suppression des valeurs aberrantes........................................................60
Figure 61:Encodage variable type credit.............................................................................................60
Figure 62:Equation 4...........................................................................................................................60
Figure 63: DataFrame finale...............................................................................................................61
Figure 64:division des données............................................................................................................61
Figure 65:Résultat de prédiction..........................................................................................................62
Figure 66:Modèle SVM........................................................................................................................63
Figure 67:Détermination cas optimale.................................................................................................64
Figure 68:Modéle KNN........................................................................................................................64
Figure 69:Modèle XGBoost.................................................................................................................65
Figure 70:Modèle Random Forest.......................................................................................................65
Figure 71:Résultat de modèle logistic regression................................................................................66
Figure 72:Résultat du modèle SVM......................................................................................................67
Figure 73:Résultat du modèle XGBoost...............................................................................................68
Figure 74:Résultat du modèle KNN.....................................................................................................69
Figure 75:Résultat du modèle Random forest......................................................................................70
Figure 76:Résultats des Modèles de Machines.....................................................................................71
Figure 77:Résultat de prédiction..........................................................................................................72
Figure 78:Modèles en constellation de data warehouse......................................................................74
Figure 79:Liste des jobs.......................................................................................................................77
Figure 80:Métadonnées des fichiers délimités et Excel........................................................................77
Figure 81:Connexion à la base de données Postgres...........................................................................78
Figure 82:Workspace du Job Dim_agence...........................................................................................79
Figure 83:schéma de “src_agence »....................................................................................................80
Figure 84:Composant tUniqRow..........................................................................................................80
Figure 85:Editeur de mapping du composant tMap.............................................................................81
Figure 86:Composant tDBOutput........................................................................................................82
Figure 87:Chargement de la table de dimension agence......................................................................82
Figure 88:Exécution du job dim_client................................................................................................83
Figure 89:Chargement de la table de dimension client........................................................................83
Figure 90:Exécution du job dim_credit................................................................................................84
Figure 91:Chargement de la table de dimension Credit.......................................................................84
Figure 92:La structure du workspace du job Dimcredit.......................................................................85
Figure 93:Composant tMap.................................................................................................................85
Figure 94:Chargement de table dim credit dans la base de donnée.....................................................86
Figure 95:la structure du workspace du Job sademande.....................................................................87
Figure 96:chargement table sa demande.............................................................................................87
Figure 97:la structure du workspace du Dim demande........................................................................88
Figure 98:Chargement de la table des demandes.................................................................................88
Figure 99:la structure du workspace du Job Dimdate.........................................................................89
Figure 100: la structure du workspace du tRow Generator.................................................................90
Figure 101:Composant tMap dans job Dim date.................................................................................90
Figure 102: Chargement de la table Dim date.....................................................................................91
Figure 103:la structure du workspace du sacompte.............................................................................92
Figure 104:Composant tSortRow.........................................................................................................92
Figure 105:Composant tMap dans job sacompte.................................................................................93
. Figure 106:Chargement de la table sacompte....................................................................................94
Figure 107: la structure du workspace du job dim compte..................................................................95
Figure 108:Composant tMap dans job dimcompte...............................................................................95
Figure 109:Chargement de la table dimcompte...................................................................................96
Figure 110:la structure du workspace du job fait_credit.....................................................................96
Figure 111: Composant tMap dans job faitcredit.................................................................................97
Figure 112:Chargement de la table faitcredit......................................................................................98
Figure 113:workspace du job fait demande credit...............................................................................98
Figure 114:Composant tMap dans job fait demande credit.................................................................99
Figure 115:Chargement de la table fait demande credit......................................................................99
Figure 116: choix de source de donnnées..........................................................................................100
Figure 117:connexion ala base de données Postgre..........................................................................100
Figure 118:Selection de table nécessaire...........................................................................................101
Figure 119:Chargement du données..................................................................................................102
Figure 120:Modélisation dans PowerBi.............................................................................................102
Figure 121: Page d’acceuil................................................................................................................103
Figure 122:Tableau de bord suivi credit............................................................................................104
Figure 123:Tableau de bord de visualisation des crédits manipulées................................................104
Figure 124:Les slicers utilisés............................................................................................................105
Figure 125:le nombre de crédits accordés en fonction des trimestres................................................106
Figure 126:la visualisation des montants des crédits accordés en fonction des mois........................107
Figure 127:présentent la visualisation le pourcentage de clients ayant des crédits en fonction des
mois....................................................................................................................................................107
Figure 128:Nombre et montant de crédits accordés par secteur........................................................108
Figure 129:Tableau de bord suivi agence..........................................................................................109
Figure 130:les cinq principales agences ayant accordé les montants de crédit les plus élevés..........109
Figure 131:les remboursement de crédit par agence.........................................................................110
Figure 132:Tableau de bord suivi client............................................................................................110
Figure 133:Crédit accordée en fonction de la localisation des clients...............................................111
Figure 134:Nombre de crédits par statu du client..............................................................................112
Figure 135:Nombre de crédits par tranche d’âge..............................................................................112
Figure 136:Nombre de clients par le secteur d’activité.....................................................................113
Figure 137:Graphique radar..............................................................................................................114
Figure 138:Tableau de bord suivi demande credit.............................................................................114
Figure 139:les trois cartes.................................................................................................................115
Figure 140:Nombres des demandes correctes et incorrectes.............................................................115
Figure 141:Répartition des motifs de refus de demandes crédits.......................................................116
Figure 142: les RIB qui sont associés au plus grand nombre de demandes de crédit incorrectes......117
Introduction générale

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.

2) Présentation d’organisme d’accueil :


Attijari Bank Tunisie, une institution bancaire tunisienne universelle, a vu le jour en 2005
suite à l'acquisition des parts détenues par l'État tunisien dans la Banque du SUD par le
groupe Andalou Maghreb. Ce groupe, constitué par le consortium espagnol composé du
groupe Attijari Wafa Bank et de Santander Espagne, est à l'origine de sa création. Dotée d'un
réseau étendu de 198 agences et centres d'affaires, la banque est présente dans tout le territoire
tunisien.
Elle a été distinguée en 2018 du titre de "Meilleure banque en Tunisie" pour la cinquième
année consécutive par le magazine prestigieux anglais "The Banker", affilié au groupe
Financial Times. Attijari Bank occupe une place significative dans tous les segments du
marché, qu'il s'agisse des particuliers, des professionnels ou des entreprises. De plus, elle
exerce ses activités dans divers domaines financiers tels que le leasing, la gestion d'actifs,
l'intermédiation boursière, le capital-risque, le conseil et l'assurance à travers ses filiales
spécialisées.
Grâce à la mise en œuvre de son projet de développement, Attijari Bank joue un rôle actif
dans la performance du système bancaire tunisien et contribue au développement du pays.

Figure 1:Logo Attijari bank

Les valeurs d’Attijari bank


Attijari Bank a instauré cinq principes fondamentaux qui servent de fondement à sa culture
d'entreprise. Cette approche stratégique imprègne les normes déontologiques et éthiques, et
reflète l'image d'une banque engagée et solidaire.

3
Les valeurs qui guident Attijari Bank sont les suivantes :
Éthique
Leadership
Engagement
Solidarité
Citoyenneté

Organigramme de Attijari Bank


La Figure 2 ci-dessous illustre l'organigramme d'Attijari Bank, qui est structuré en trois
niveaux :
La Direction Générale
Les Pôles et les Départements
Les Directions et les Sous-Directions

Figure 2:Organigramme de Attijari Bank

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.2 Cadre Du Projet :


Ce présent projet entre dans l’orbite du stage de fin d’études en vue de l’obtention du diplôme
d’ingénieur en Data Science de l'université ESPRIT pour l’année universitaire 2022/2023. Il
vise à réaliser un projet qui met en pratique les connaissances techniques acquises pendant ma
formation académique.

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.

1.3.4 Solution proposée


Notre solution repose sur l'intégration synergique de technologies de pointe telles que
l'intelligence artificielle (IA), la computer vision et le deep learning pour automatiser le
processus d'évaluation des demandes de crédit. Grâce à cette approche innovante, nous
sommes en mesure d'extraire efficacement et précisément les informations manuscrites
contenues dans les formulaires de demande de crédit. L'utilisation de la computer vision nous
permet de capturer et de comprendre les caractères écrits à la main, tandis que les techniques
de deep learning utilisent des modèles spécialement conçus pour lire et extraire des champs
spécifiques tels que le nom, l'adresse, le revenu et d'autres données pertinentes.

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 :

L'intégration de méthodes et d'approches méthodologiques joue un rôle essentiel dans la


transformation d'une idée abstraite en une réalité tangible. C'est au travers de ces approches
que le projet émerge de la phase conceptuelle pour prendre forme. Ainsi, une démarche
méthodologique minutieusement élaborée a été déployée dans le cadre de ce projet. Cette
approche harmonise astucieusement les avantages intrinsèques du processus CRISP-DM
(Cross-Industry Standard Process for Data Mining) avec ceux de la méthodologie Scrum.
Cette conjonction vise à exploiter de manière synergique la rigueur méthodique et la
souplesse adaptative, deux éléments essentiels à la réussite de ce projet.

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.

Figure 3:Le cycle de vie de l’exportation des données

La méthodologie Scrum, avec sa concentration sur la flexibilité et la collaboration, crée un


équilibre optimal avec le processus CRISP-DM. L'approche itérative et incrémentale de
Scrum est particulièrement pertinente pour les phases de développement de modèles et de
création du tableau de bord. En divisant le projet en sprints, chaque itération peut se

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.

5) Spécification des besoins

Figure 4:Le Déroulement d’une itération

Il est primordial de fixer les besoins fonctionnels et non fonctionnels afin de satisfaire les
besoins métiers de notre projet.

1.5.1 Besoins fonctionnels :


Mise en place d'un système automatisé pour l'extraction de données : Concevoir une solution
avancée permettant d'extraire de manière autonome les éléments essentiels des requêtes de
prêt manuscrites, notamment à partir d'images de formulaires de demande de crédit ou de
dossiers contenant des fichiers PDF. Cette initiative englobe l'extraction précise des
renseignements personnels du requérant, des détails financiers, des historiques de crédit et
autres informations pertinentes. Le processus initial cible l'identification et l'extraction
spécifique des formulaires de demande de crédit à partir des PDFs, tout en préparant le terrain
pour une étape ultérieure d'extraction de données proprement dite. Ces PDFs, rassemblant des

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.

1.5.2 Besoins non fonctionnels :

L'étude non fonctionnelle de ce projet peut inclure les aspects suivants :


Performance : Le système doit être capable de traiter les demandes de crédit de manière
efficace, en respectant des délais raisonnables et en maintenant une bonne réactivité. La
vitesse d'extraction des données, l'analyse et la prédiction doivent être optimisées pour
garantir des performances optimales.
Fiabilité : Le système doit être fiable et robuste, en minimisant les erreurs et les pannes. Il
devrait être capable de gérer de grandes quantités de données et de maintenir une disponibilité
élevée afin de répondre aux besoins de la banque Attijari.
Sécurité : La sécurité des données est primordiale. Le système doit mettre en place des
mesures de sécurité pour protéger les informations sensibles et confidentielles des
demandeurs de crédit. Cela peut inclure des protocoles de cryptage, des mécanismes
d'authentification et des contrôles d'accès appropriés.
Évolutivité : Le système doit être évolutif pour répondre à la croissance future de la banque
Attijari et à l'augmentation du volume de demandes de crédit. Il devrait pouvoir gérer une
augmentation de la charge de travail sans compromettre les performances.

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

Figure 5:logo talend

Outil pour la visualisation de données


Power BI est une suite d'outils de business intelligence (BI) développée par Microsoft. Elle
est conçue pour permettre aux utilisateurs de connecter différentes sources de données, de les
transformer et de créer des visualisations informatives, des tableaux de bord interactifs et des
rapports détaillés
Power BI Report Server est une solution d'entreprise qui offre aux organisations la possibilité
de créer, publier et gérer des rapports Power BI sur leurs infrastructures locales.

Figure 6:logo PowerBI Desktop version RS

Langages et frameworks de développement


Python est un langage de programmation polyvalent et interprété qui a gagné une immense
popularité dans le domaine de la data science. Il est largement utilisé pour effectuer des

10
analyses de données, développer des modèles d'apprentissage automatique, et créer des
visualisations informatives

Figure 7:logo Python

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

Figure 8:logo django

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

Figure 10:logo google collab

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).

2.2 Deep Learning :


L'intelligence artificielle comprend le sous-domaine de l'apprentissage automatique, dans
lequel le Deep Learning est une sous-catégorie. La reconnaissance visuelle est l'exemple
d'application le plus courant. Par exemple, un algorithme peut être programmé pour identifier
des visages à partir d'images capturées par une caméra. Selon la base de données utilisée, il
peut repérer une personne recherchée dans une foule, évaluer le niveau de satisfaction en
détectant les sourires à la sortie d'un magasin, et bien d'autres. Un ensemble d'algorithmes
peut également reconnaître les mots écrits dans une image. Le Deep Learning se base
principalement sur la modélisation d'un réseau neuronal inspiré des systèmes cérébraux
naturels.

2.2.1 Fonctionnement du réseaux de neurones :


Les réseaux de neurones profonds (deep learning en anglais) sont une sous-catégorie de
l'apprentissage automatique (machine learning) qui s'inspire du fonctionnement du cerveau
humain pour résoudre des problèmes complexes. Les réseaux de neurones profonds sont
composés de plusieurs couches de neurones interconnectés qui traitent et transforment les
données d'entrée pour produire une sortie.
Chaque neurone dans un réseau de neurones profond reçoit des signaux d'entrée, les pondère
et les combine pour générer une sortie. Les couches successives de neurones sont capables
d'apprendre des représentations de plus en plus abstraites des données d'entrée. La première
couche traite les caractéristiques les plus simples, telles que les contours, les bords ou les
couleurs, tandis que les couches supérieures combinent ces caractéristiques pour reconnaître
des formes plus complexes, comme des visages ou des objets.
L'apprentissage dans un réseau de neurones profond se fait par rétropropagation de l'erreur. Le
réseau est d'abord initialisé avec des poids aléatoires, puis il est entraîné sur un ensemble de
données d'entraînement pour ajuster ces poids de manière à minimiser l'erreur entre les sorties
prédites et les sorties réelles. Ce processus itératif permet au réseau d'apprendre à généraliser

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.

Figure 11:Réseau de neurones artificiels

2.2.2 Convolutional neural network :


Un réseau neuronal convolutif (CNN en anglais, pour Convolutional Neural Network) est un
type de réseau neuronal profond conçu spécifiquement pour traiter des données structurées
sous forme de grilles, telles que des images ou des signaux. Il est largement utilisé dans les
tâches de vision par ordinateur, notamment la classification d'images, la détection d'objets et
la segmentation d'images.
Les CNN sont inspirés de l'organisation du cortex visuel chez les animaux, qui contient des
cellules spécialisées appelées champs récepteurs et qui répondent à des stimuli visuels
spécifiques. De manière similaire, les CNN sont composés de plusieurs couches de neurones
interconnectés qui apprennent à détecter et reconnaître des motifs et des caractéristiques dans
les données d'entrée.
Les principaux composants d'un CNN sont les couches de convolution, les couches de pooling
et les couches entièrement connectées :
Couches de convolution : Ces couches appliquent un ensemble de filtres apprenables
(également appelés noyaux) aux données d'entrée. Chaque filtre effectue une opération de
convolution en se déplaçant sur les données d'entrée et en calculant des produits scalaires
entre les poids du filtre et les valeurs d'entrée. Cette opération permet de capturer les motifs et
les caractéristiques spatiales locales.

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.

Figure 12: CNN Architecture

2.2.3 Transfer learning :


Le transfert d'apprentissage (ou transfer learning en anglais) est une technique d'apprentissage
automatique qui consiste à utiliser les connaissances acquises lors de la résolution d'une tâche
pour améliorer la performance sur une autre tâche similaire ou différente. Plus précisément, le
transfert d'apprentissage implique de prendre un modèle pré-entraîné sur une grande quantité
de données et de l'adapter à une tâche spécifique avec un ensemble de données plus restreint.
Le transfert d'apprentissage est particulièrement efficace dans les scénarios où les données
d'entraînement sont limitées ou coûteuses à obtenir. Au lieu de construire un modèle à partir
de zéro et de l'entraîner sur un petit ensemble de données, le transfert d'apprentissage permet
d'utiliser des modèles déjà entraînés sur de vastes ensembles de données, tels que des modèles
pré-entraînés sur des images ImageNet.

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.

2.2.4 Computer vision :

La vision par ordinateur (computer vision en anglais) est un domaine de l'intelligence


artificielle et du traitement d'images qui vise à permettre aux ordinateurs de comprendre,
d'analyser et d'interpréter les informations visuelles provenant du monde réel. Elle se
concentre sur le développement d'algorithmes et de modèles pour extraire des informations
significatives à partir d'images ou de vidéos.
La vision par ordinateur comprend plusieurs tâches et applications, dont voici quelques
exemples :
Classification d'images : La classification consiste à attribuer des étiquettes ou des catégories
prédéfinies à des images en fonction de leur contenu. Par exemple, la classification d'images
peut être utilisée pour distinguer des animaux, des objets ou des scènes spécifiques.
Détection d'objets : La détection d'objets consiste à localiser et à identifier des objets
spécifiques dans une image ou une vidéo. Cela peut être utilisé dans diverses applications,
telles que la détection de piétons dans les systèmes de conduite autonome ou la détection
d'objets dans la surveillance vidéo.
Reconnaissance faciale : La reconnaissance faciale vise à identifier et à vérifier l'identité d'une
personne à partir d'une image ou d'une vidéo. Elle est utilisée dans des applications de
sécurité, de surveillance et d'authentification.
Reconnaissance optique de caractères (OCR) : L'OCR est utilisé pour extraire des caractères
et des textes à partir d'images ou de documents numérisés. Cela permet de convertir des
documents physiques en texte éditable et de faciliter le traitement automatisé des données.

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.

2.2.5 Object detection :

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.

Voici les principaux composants de Faster R-CNN :


Réseau de proposition de régions (RPN) :
Le RPN est responsable de la génération de propositions de régions, c'est-à-dire des
emplacements potentiels de boîtes englobantes d'objets dans une image d'entrée. Il réalise cela
en faisant glisser un petit réseau sur la carte des caractéristiques convolutives et en prédisant

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

2.2.6 Reconnaissance de texte manuscrit :

La reconnaissance de texte manuscrit avec l'utilisation de modèles de deep learning a


considérablement amélioré la capacité à extraire et à transcrire automatiquement le contenu

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

Convolutional Recurrent Neural Network (CRNN) :


Convolutional Recurrent Neural Network (CRNN), ou Réseau neuronal convolutif récurrent
en français, est un modèle de réseau neuronal profond qui combine à la fois des couches
convolutives et des couches récurrentes pour la reconnaissance de séquences, notamment la
reconnaissance de texte.
Dans un CRNN, les couches convolutives sont utilisées pour extraire des caractéristiques à
partir des images d'entrée, tandis que les couches récurrentes captent les dépendances
temporelles entre les caractères dans une séquence. Les couches convolutives permettent de
détecter les motifs visuels et les caractéristiques locales, tandis que les couches récurrentes
modélisent les dépendances contextuelles entre les caractères.
Le modèle CRNN est couramment utilisé dans des applications telles que la reconnaissance
de texte manuscrit, la reconnaissance optique de caractères (OCR) et la transcription de
parole. Il a démontré de bonnes performances en matière de reconnaissance de séquences et
peut être entraîné sur de grandes quantités de données annotées pour apprendre à prédire les
caractères ou les mots dans les séquences de texte.
En résumé, un CRNN est un modèle de réseau neuronal qui combine des couches
convolutives pour l'extraction de caractéristiques visuelles et des couches récurrentes pour
capturer les dépendances contextuelles entre les caractères dans une séquence. Il est utilisé
pour la reconnaissance de séquences, y compris la reconnaissance de texte, en exploitant à la
fois les informations spatiales et temporelles présentes dans les données d'entrée.

TrOCR (Transformer-based Optical Character Recognition) est un modèle basé sur le


Transformer utilisé pour la reconnaissance optique de caractères (OCR). Le modèle
Transformer est une architecture de réseau neuronal qui a été initialement proposée pour la
traduction automatique, mais qui a depuis été appliquée avec succès à d'autres tâches, y
compris l'OCR.
Dans le contexte de TrOCR, le modèle Transformer est utilisé pour capturer les dépendances
à longue distance entre les caractères et pour modéliser les relations contextuelles dans les
séquences de texte. Le modèle est entraîné sur de grandes quantités de données d'images
contenant du texte afin d'apprendre à reconnaître et transcrire les caractères.

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.

Figure 13:TROCR Architecture

2.2.7 Les Transformers


Également connus sous le nom de Transformateurs en français, sont une architecture de
réseau neuronal basée sur l'attention qui a révolutionné de nombreux domaines de
l'apprentissage automatique, notamment la traduction automatique, la reconnaissance vocale
et le traitement du langage naturel.
L'architecture Transformer a été proposée par Vaswani et al. en 2017 et se distingue par son
utilisation intensive de l'opération d'attention pour capturer les relations à longue distance
entre les éléments d'une séquence. Contrairement aux modèles récurrents traditionnels, les
Transformers n'utilisent pas de boucles récurrentes pour traiter séquentiellement les données,
ce qui leur confère une capacité de parallélisme et une efficacité accrues.
Les Transformers se composent de deux parties principales : les encodeurs et les décodeurs.
Les encodeurs sont chargés de capturer les informations contextuelles des données d'entrée,
tandis que les décodeurs sont responsables de générer des sorties conditionnées par les
informations de contexte. Chaque partie est constituée de plusieurs couches d'attention et de

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.

Figure 14:Transformeur Architecture

2.3 Machine learning :


Le Machine Learning, également appelé apprentissage automatique, est une branche de
l'intelligence artificielle qui se focalise sur le développement de techniques permettant aux
ordinateurs d'apprendre et de s'améliorer à partir de l'expérience, sans nécessiter une
programmation explicite. L'objectif du Machine Learning est de permettre aux machines de
prendre des décisions ou de faire des prédictions en se basant sur des modèles et des données
plutôt que sur des instructions spécifiques.

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.

2.4 La business intelligence :


Définition :
La Business Intelligence (BI), également appelée informatique décisionnelle en français, est
un ensemble de méthodes, technologies et outils qui permettent de collecter, organiser,
analyser et présenter les données d'une organisation afin de faciliter la prise de décision et
d'améliorer la performance de l'entreprise.
La BI vise à transformer les données brutes en informations exploitables et pertinentes pour
les utilisateurs de l'entreprise, tels que les décideurs, les managers et les analystes. Cela
implique l'utilisation de techniques de collecte de données, de modélisation, de traitement
analytique et de visualisation pour fournir une vue d'ensemble claire et précise de l'activité de
l'entreprise.
Les principaux objectifs de la BI sont les suivants :
Collecte de données : La BI permet de collecter et d'intégrer des données provenant de
différentes sources au sein de l'organisation, qu'il s'agisse de bases de données internes, de
données externes ou de sources en ligne.

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.

Figure 15:Architecture de la solution décisionnelle

2.4.1 La modélisation multidimensionnelle d’un Data Warehouse


La modélisation multidimensionnelle d'un entrepôt de données (Data Warehouse) est une
approche qui permet de représenter et d'organiser les données de manière à faciliter l'analyse
et la compréhension des informations à travers différentes dimensions. Cela permet aux
utilisateurs de naviguer et d'explorer les données de manière intuitive.
Le modèle multidimensionnel est basé sur le concept de cube de données, où les données sont
organisées en fonction de dimensions clés et de mesures. Voici les principaux éléments de la
modélisation multidimensionnelle :
Dimensions : Les dimensions représentent les aspects ou les caractéristiques selon lesquelles
les données peuvent être analysées. Par exemple, dans le contexte bancaire, les dimensions
pourraient être le temps, le client, le produit, etc. Chaque dimension est représentée par une
hiérarchie de niveaux, permettant d'analyser les données à différents niveaux de détail.

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.

Figure 16:Modèle en étoile

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.

Figure 17:Modèle en flocon

Le modèle en constellation : Ce modèle est une combinaison du modèle en étoile et du


modèle en flocon de neige. Il utilise des schémas en étoile pour les tables de dimensions clés
et des schémas en flocon de neige pour les tables de dimensions moins utilisées. Cela permet
de gérer efficacement les dimensions complexes tout en maintenant la simplicité des requêtes
pour les dimensions principales.

Figure 18:Modèle en constellation

2.5 Relation entre Le deep learning el le business intelligence :


Dans notre projet, il existe une relation étroite entre le deep learning et la business intelligence
(BI). Voici comment ces deux domaines se complètent :
Extraction de données : Le deep learning est utilisé pour extraire des informations à partir de
demandes de crédit écrites à la main. Les algorithmes de deep learning, tels que YOLO,

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.

3.2 Architecture Globale de la Solution:


Pour réaliser l'extraction de données à partir des documents de crédit, notre pipeline
méthodologique est soigneusement organisée en plusieurs étapes, commençant par la
numérisation et la collecte des données, suivi du prétraitement, de la segmentation des images
et de l'extraction des caractéristiques. Ensuite, nous mettons en œuvre la reconnaissance des
caractères à l'aide de modèles de deep learning, suivi de l'évaluation de la performance du
modèle et d'éventuelles améliorations en post-traitement, avant de déployer la solution
complète dans un environnement opérationnel

Figure 19:Architecture d’extraction des données

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.

Figure 20:Demande de crédit

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.

Figure 21: IAM Handwriting Database

Entraînement pour la lecture des champs contenant des chiffres :


Afin de permettre à notre modèle de lire précisément les champs contenant des chiffres dans
les formulaires de demande de crédit, nous avons utilisé le dataset MNIST. Ce dernier
comprend des images de chiffres écrits à la main, ce qui a permis à notre modèle de
reconnaître et d'extraire correctement ces valeurs numériques

Figure 22:Base de données MNIST

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.

Figure 23:Demande de crédit après redimensionnement

3.4.2 Réduction du bruit (Filtre Gaussion)


Si les images présentent du bruit ou des imperfections, nous appliquons des techniques de
réduction de bruit pour améliorer la qualité visuelle de l'image et prévenir toute perturbation
lors de la détection des champs.

Figure 24:Choix de filtre gaussien

31
Figure 25:Image après filtre

3.4.3 Rotation pour rendre l'image à son orientation normale :


Dans certains cas, les images de formulaires de demande de crédit peuvent être scannées ou
capturées avec une orientation incorrecte. Pour s'assurer que toutes les images sont alignées
dans la bonne orientation, nous pouvons effectuer une rotation automatique pour les remettre
à l'orientation normale.

Figure 26:L’étape de rotation dans le traitement d’image

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.

Figure 27:Vérification qualité d’image

3.4.5 L'étiquetage des données


Dans le cadre de notre projet d'extraction d'informations à partir de documents de crédit,
l'étape d'étiquetage des images revêt une importance cruciale. Elle consiste à annoter les
régions d'intérêt sur les images de formulaires de demande de crédit afin de former notre
modèle de deep learning à reconnaître et extraire les informations spécifiques que nous
souhaitons obtenir.
Pour réaliser cette étape, nous avons opté pour l'utilisation de l'outil open-source LabelImg.
Après avoir téléchargé et installé cet outil sur notre ordinateur, nous avons procédé comme
suit :
LabelImg est un outil d'annotation graphique open-source. Il est développé en Python et
possède une interface graphique construite à l'aide de Qt. Les annotations sont stockées dans
des fichiers texte, qui sont compatibles avec YOLO.
Les étapes suivantes doivent être effectuées pour créer un ensemble de données étiquetée sur
mesure dans un format utile.

33
Dans le fichier "data/classes.txt", définissez la liste des classes.

Figure 28: Fichier classes.txt

-Construisez et lancez LabelImg.


-Passez au format YOLO en appuyant sur "Pascal VOC".
-Cliquez sur "OpenDir" pour traiter une ou plusieurs images.
-Créez une boîte rectangulaire et enregistrez le fichier.

Figure 29:Demande de crédit étiquetée

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.

Figure 30:Fichier texte contient les positions des classes

3.5 Segmentation des images et extraction des champs :


Dans l'étape de segmentation des images et d'extraction de caractéristiques, nous avons utilisé
le modèle YOLO (You Only Look Once) pour détecter les régions d'intérêt dans les images
de formulaires de demande de crédit. YOLO est un modèle d'apprentissage en profondeur
largement utilisé pour la détection d'objets dans les images.
Voici comment nous avons procédé dans cette étape :
Détection des régions d'intérêt : J'ai utilisé le modèle YOLO pour analyser l'image et prédire
les boîtes englobantes pour chaque objet détecté, ainsi que les classes correspondantes pour
chaque boîte. Par exemple, le modèle a pu identifier des zones d'intérêt telles que le nom du
demandeur, l'adresse, le montant demandé, etc.

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.

3.5.1 Entraînement de modèles :


Une fois que toutes les étapes précédentes sont terminées, le modèle peut être entraîné en
utilisant les paramètres suivants :
• img : définit la taille de l'image en entrée. L'image originale est de 1024x1024, mais elle a
été compressée à une taille plus petite pour accélérer l'entraînement. Après de nombreux tests,
les chercheurs [30] ont conclu que la taille de 416x416 est la meilleure pour l'entrée sans
perdre trop d'informations.
• batch : détermine la taille du lot (batch size). Le nombre de poids que le modèle doit
apprendre en une période ou une époque augmente considérablement lorsque des milliers
d'images lui sont transmises en une seule fois. Par conséquent, l'ensemble de données est
souvent divisé en plusieurs lots de 32 images, chaque lot étant entraîné séparément. Après que
tous les lots ont été entraînés, les résultats de chaque lot sont ensuite stockés dans la RAM et
combinés. Plus il y a de lots, plus de RAM sera nécessaire car les poids appris à partir des lots
y sont conservés. Par exemple, si un ensemble d'entraînement contient 3200 images et que la
taille du lot est de 32, il y aura au total 100 lots.
• epochs : définit le nombre d'époques d'entraînement. Une époque est responsable de
l'entraînement de toutes les images d'entrée. Une époque sera responsable de l'entraînement de
tous les lots car l'ensemble de données est divisé en plusieurs lots. La quantité d'époques
indique à quelle fréquence le modèle apprend toutes les entrées et modifie les poids pour se
rapprocher des vraies étiquettes. Le nombre d'époques est souvent déterminé par intuition et
expérience. Il est courant d'avoir 300 époques ou plus.

• data : le chemin vers le fichier de configuration YAML contenant le résumé de l'ensemble


de données. Le modèle utilisera également l'emplacement dans le fichier YAML pour accéder
au répertoire de validation et utiliser son contenu pour l'évaluation, car la procédure
d'évaluation du modèle est déclenchée immédiatement après chaque époque.
• cfg : spécifie le chemin de la configuration du modèle. Cette ligne de commande permet au
fichier train.py de compiler et de créer cette architecture pour les images d'entrée
d'entraînement, en fonction de l'architecture spécifiée dans le fichier YAML du modèle
auparavant.

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.

3.5.2 L'évaluation des performances de notre modèle


L'évaluation des performances de notre modèle YOLO est essentielle pour mesurer son
efficacité dans la détection des champs de formulaire de demande de crédit. Pour ce faire,
nous utilisons différentes métriques, notamment la perte de localisation, la perte de confiance
et La perte de classification.
La perte de localisation (localisation loss) mesure l'efficacité de l'algorithme à détecter le
centre d'un objet et à ajuster correctement le cadre délimitant autour de cet objet. Cette perte
est calculée en comparant les coordonnées réelles des objets détectés (x, y, largeur, hauteur)
avec les coordonnées prédites par le modèle (x̂, ȳ, ŵ, ĥ). Le terme λ coordinates est utilisé
comme poids pour ajuster l'importance de cette perte dans la fonction globale.

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).

Figure 34:Résultat de modèle YOLO

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.

Figure 35:Demande de crédit croppée

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.

3.6.1 Phase d’entrainement de modèle (TROCR):


Pour affiner le modèle TrOCR sur la base de données IAM Handwriting, j'ai utilisé la
bibliothèque PyTorch, qui offre une flexibilité et une facilité d'utilisation pour la mise en
œuvre de modèles d'apprentissage en profondeur. J'ai commencé par télécharger et prétraiter
les images et les transcriptions de la base de données IAM Handwriting. Ensuite, j'ai séparé
l'ensemble de données en ensembles d'entraînement et de validation pour évaluer la
performance du modèle.
En utilisant les poids pré-entraînés du modèle TrOCR, j'ai initialisé le modèle fin et j'ai défini
les hyperparamètres tels que le taux d'apprentissage, le nombre d'epochs et la taille du lot. J'ai
ensuite procédé à l'entraînement du modèle sur l'ensemble de données IAM Handwriting, en
surveillant régulièrement les métriques de performance telles que la perte, la précision et le
rappel sur l'ensemble de validation.

3.6.2 Evaluation des modèles :


Après plusieurs itérations d'entraînement et d'ajustements, j'ai évalué le modèle fin sur
l'ensemble de test ou de validation pour obtenir les mesures de performance finales telles que
la précision, le rappel et le F1-score. Cette approche de "Transformer Learning" a permis
d'améliorer considérablement la capacité du modèle à reconnaître et à interpréter efficacement
les caractères manuscrits présents dans les formulaires de demande de crédit.
Ces résultats correspondent aux métriques d'entraînement et de validation pour chaque étape
(époque) spécifiée.

40
Figure 36:Résultat de modèle TROCR

Voici comment interpréter ces résultats :


La perte d'entraînement et la perte de validation : Ces métriques représentent l'erreur du
modèle lors de l'entraînement et de la validation. Une perte plus faible est meilleure, car cela
signifie que le modèle s'ajuste mieux aux données et effectue de meilleures prédictions.

Taux d'erreur de caractères (CER) de validation : Cette métrique mesure la précision du


modèle sur l'ensemble de validation en termes de caractères correctement prédits par rapport
au nombre total de caractères. Un CER plus bas est meilleur, car cela signifie que le modèle
prédit avec précision les caractères dans les annotations.

En examinant ces résultats, nous constatons que la perte d'entraînement et la perte de


validation diminuent à chaque étape, ce qui est une indication positive que le modèle continue
à s'améliorer et à mieux s'ajuster aux données. De plus, le taux d'erreur de caractères (CER) de
validation diminue également à chaque étape, ce qui suggère que le modèle devient plus
précis dans la prédiction des annotations de caractères.

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.

3.6.3 Résultat du test sur les champs d’image de demande de crédit :

Figure 37:Résultat du lecture des champs 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.

3.7 Phase de Déploiement de la Solution d'Extraction de Données à


partir d'Images et de PDFs
Page de Connexion avec FaceLogin : Pour assurer la sécurité et l'authentification,
l'utilisateur accède d'abord à une page de connexion intégrant la technologie de
reconnaissance faciale (FaceLogin). Cette étape garantit que seules les personnes autorisées
ont accès au système d'extraction de données.

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".

Figure 39:Menu de Sélection

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
*

Figure 41:Extraction des données a partir des images

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.

Figure 42:Page de traitement de dossiers

Vérification et Validation des Dossiers : Une fois le dossier téléchargé, le système


entreprend une phase de vérification minutieuse. Son objectif est de discerner
automatiquement et de manière intelligente les demandes de crédit au sein du dossier, en
identifiant les documents pertinents, tels que les formulaires de demande de crédit.
Extraction des Images des Demandes de Crédit : Une fois confirmée, l'utilisateur accède à
une page affichant toutes les images de demandes de crédit extraites à partir des fichiers PDF
du dossier téléchargé. Cliquer sur le bouton "Ajouter" initie le processus de traitement
d'image pour extraire les données essentielles de chaque image

Figure 43:Extraction des images des demandes de crédit

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.

Chapitre 4 : La prédiction de l’octroi de crédit

47
4.1 Introduction

La banque souhaite automatiser le processus de détermination de l'éligibilité aux prêts en se


basant sur les informations fournies par les clients lorsqu'ils remplissent le formulaire de
demande de crédit. Les données renseignées comprennent le secteur d'activité, le revenu, le
montant du prêt, le type de crédit, le montant estimé, la durée du prêt ainsi que l'historique des
emprunts passés.

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.

4.2 Compréhension des données


La phase de Compréhension des données (Data Understanding) dans la méthodologie CRISP-
DM implique une exploration approfondie des données pour obtenir une meilleure
compréhension de leur nature, de leur qualité et de leurs caractéristiques.
1.Collecte des données : Identifier et recueillir toutes les sources de données pertinentes pour
le projet. Cela peut inclure des bases de données, des fichiers plats, des sources en ligne, etc.
2.Vérification de la qualité des données et Description des données : Évaluer la qualité des
données pour détecter d'éventuelles erreurs, valeurs aberrantes, doublons, lacunes, etc.
Nettoyer les données si nécessaire. Et Examiner les métadonnées pour comprendre la
signification de chaque variable. Cela peut inclure des descriptions, des unités, des types de
données, des formats, etc.
3.Visualisation des données : Utiliser des graphiques et des visualisations pour représenter
graphiquement les données. Cela peut aider à repérer des schémas, des tendances ou des
anomalies.

4.2.1 Collecte des donné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 :

Figure 46: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

Figure 47:L’analyse des variables 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 :

Figure 48:L’analyse des variables 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 :

Figure 49:L’analyse des variables etat credit

La colonne "etatcredit" de notre jeu de données est répartie comme suit :


•État de crédit 0 : 25 473 occurrences
•État de crédit 1 : 7 108 occurrences
Ces données indiquent que la colonne "etatcredit" comporte deux états distincts, numérotés 0
et 1. Les occurrences indiquent combien de fois chaque état apparaît dans le jeu de données.
•0 représente des demandes de crédit ont été approuvées
•1 représente " des demandes de crédit ont été approuvées
•Dans le contexte financier, un prêt est en situation de défaut lorsque l'emprunteur ne remplit
pas ses obligations de paiement conformément aux termes convenus
4)Valeurs aberrantes :

Figure 50:Les valeurs aberrantes dans chaque variable

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 :

Figure 51:Tableau statistique de variables qualitatives dans notre dataframe

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

Figure 52:Matrice de corrélation entre tous les variables

55
Figure 53:Matrice de corrélation entre montantcredit et l interet

D'après la matrice de corrélation que vous avez fournie, concentrons-nous particulièrement


sur la variable "etatcredit" et ses relations de corrélation avec les autres variables :
1.État du Crédit et Âge : La corrélation entre l'état du crédit et l'âge est de -0,0216, ce qui
suggère une faible corrélation négative. Cela indique qu'il y a peu de relation linéaire entre
l'âge du demandeur et son état de crédit.
2.État du Crédit et Revenu : La corrélation entre l'état du crédit et le revenu est de -0,1444.
Cela indique également une faible corrélation négative. Cela pourrait signifier qu'il y a une
légère tendance pour les personnes ayant un revenu plus élevé d'avoir un meilleur état de
crédit, mais la corrélation est assez faible pour en tirer des conclusions solides.
3.État du Crédit et Montant du Crédit : La corrélation entre l'état du crédit et le montant du
crédit est de 0,1054. Cette corrélation positive faible suggère qu'il pourrait y avoir une légère
tendance pour les montants de crédit plus élevés à être associés à un meilleur état de crédit.
4.État du Crédit et Intérêt d'Emprunt : La corrélation entre l'état du crédit et les intérêts
d'emprunt est de 0,3794. Cette corrélation positive modérée suggère qu'il existe une relation
où un état de crédit moins favorable pourrait être associé à des taux d'intérêt d'emprunt plus
élevés.
5.État du Crédit et Durée : La corrélation entre l'état du crédit et la durée du crédit est de -
0,0188, indiquant une corrélation très faible. Cela suggère que la durée du crédit n'est pas
fortement liée à l'état de crédit.
6.Montant du Crédit et Intérêt d'Emprunt : Il y a une corrélation positive modérée de 0,573
entre le montant du crédit et les intérêts d'emprunt. Cela suggère que des montants de crédit
plus élevés peuvent être associés à des intérêts d'emprunt plus élevés.

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é.

4.2.4 Représentation graphique des données

Figure 54:Représentation graphique des revenus

Un graphique qui montre comment les valeurs de la variable 'revenu' sont distribuées dans nos
données.

Figure 55:Représentation graphique des tranches d'âge

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

4.3 La phase de Préparation des 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.

Figure 57:Suppression des valeurs aberrantes dans variable type credit

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.

Figure 58:Suppression des valeurs aberrantes dans variable duree

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.

Figure 59:Suppression des outliers

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

4.3.2 Encodage des variables catégorielles


Dans le cadre de la préparation des données, l'encodage des variables catégorielles a été une
étape cruciale pour nous assurer que les algorithmes de machine learning puissent traiter
correctement les données catégorielles. L'une de ces variables était la variable 'TypeCredit',
qui représentait les différents types de crédits attribués aux emprunteurs.
Après avoir utilisé le LabelEncoder, la variable 'TypeCredit' a été convertie en une série de
valeurs numériques uniques. Chaque catégorie a reçu une valeur numérique, ce qui nous
permet d'utiliser cette variable dans des analyses et des modèles d'apprentissage automatique.

Figure 61:Encodage variable type credit

4.3.3 Normalisation des Variables Quantitatives


L'étape cruciale de la préparation des données inclut la normalisation des variables
quantitatives. Cette pratique vise à mettre toutes les variables à la même échelle, ce qui est
essentiel pour garantir des analyses précises et fiables. La normalisation permet de s'assurer
que les variables avec des plages de valeurs différentes ne biaisent pas les résultats des
modèles.
Dans notre cas, nous avons choisi de normaliser les variables 'revenu', 'montantcredit' et 'age'.
Cette normalisation a été effectuée selon la formule suivante pour chaque valeur

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 :

Figure 63: DataFrame finale

4.3.4 Division des données


La division de l'ensemble de données en ensembles d'entraînement et de test nous permet de
suivre les étapes suivantes :
1.Ensemble d'entraînement (Training Set) : Cet ensemble est utilisé pour entraîner nos
modèles d'apprentissage automatique. Les modèles apprendront à partir de ces données pour
identifier des schémas et des relations dans les variables.
2.Ensemble de test (Test Set) : Cet ensemble est utilisé pour évaluer la performance de nos
modèles après l'entraînement. Les modèles n'ont jamais vu ces données auparavant, ce qui
permet de vérifier leur capacité à généraliser sur de nouvelles observations.
La division des données doit être effectuée de manière aléatoire et en garantissant que les
proportions entre les ensembles d'entraînement et de test sont appropriées. Une pratique
courante est de diviser les données en environ 70% pour l'ensemble d'entraînement et 30%
pour l'ensemble de test.

Figure 64:division des données

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.

4.4.1 Logistic Regression

Figure 64 : Modele Logistic regression

63
Figure 65:Résultat de prédiction

4.4.2 SVM (Support Vector Machine)

Figure 66:Modèle SVM

4.4.3 K-Nearest Neighbors (KNN)


Choix parametreK :
Le choix du paramètre K dans l'algorithme des k plus proches voisins (KNN) est crucial pour
obtenir des performances de prédiction optimales. Le paramètre K détermine le nombre de
voisins les plus proches à considérer lors de la prédiction d'une nouvelle observation. Une
valeur inappropriée de K peut entraîner un modèle soit trop complexe (sur-ajustement) soit
trop simplifié (sous-ajustement). Pour trouver la valeur optimale de K, une approche courante
est d'utiliser la méthode de la fonction d'erreur.
Pour déterminer la valeur optimale du paramètre K dans l'algorithme des k plus proches
voisins (KNN), nous avons adopté une approche basée sur la méthode de la fonction d'erreur.
L'objectif était de trouver un K qui minimise l'erreur de prédiction et offre ainsi les meilleures
performances de généralisation.
Pour ce faire, nous avons suivi les étapes suivantes :
1.Boucle de Parcours de K : Nous avons initialisé une boucle parcourant différentes valeurs
de K, allant de 1 à une valeur maximale prédéfinie.
2.Entraînement et Prédiction : Pour chaque valeur de K, nous avons ajusté un modèle KNN
sur l'ensemble d'entraînement et effectué des prédictions sur l'ensemble de test.
3.Calcul de l'Erreur : Nous avons calculé l'erreur de prédiction en comparant les prédictions
effectuées par le modèle avec les valeurs réelles de l'ensemble de test. L'erreur a été calculée
comme la moyenne des prédictions incorrectes.
4.Collecte des Erreurs : À chaque itération de la boucle, nous avons enregistré l'erreur
associée à la valeur de K correspondante.
5.Visualisation et Analyse des Résultats : Nous avons tracé un graphique de l'erreur en
fonction des valeurs de K. Ce graphique nous a permis d'observer comment l'erreur varie à
mesure que K change. Nous avons cherché la valeur de K qui correspond au point où l'erreur
est minimale.

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

Figure 67:Détermination cas optimale

Construction du Modèle :

Figure 68:Modéle KNN

65
4.4.4 XGBoost (Extreme Gradient Boosting

Figure 69:Modèle XGBoost

4.4.5 Random Forest Classifier

Figure 70:Modèle Random Forest

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

Figure 72:Résultat du modèle SVM

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é

K-Nearest Neighbors (KNN) :


•Exactitude : 0.85
•Précision : 0.84
•Rappel : 0.39
•F1-score : 0.53
•Roc :0.86


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

Figure 75:Résultat du modèle Random forest

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

Figure 76:Résultats des Modèles de Machines

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.

Choix final :XGBOOST

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.

5.2 Conception et alimentation de l’entrepôt de données


5.2.1 Conception de l’entrepôt de données
La première étape de notre projet décisionnel est de concevoir le Data Warehouse en
choisissant le modèle de conception multidimensionnel le plus adapté à notre sujet d’analyse.
Étant donné que la gestion des crédits ne requiert pas un modèle constitué de plusieurs entités
et données complexes, nous avons opté pour une modélisation en constellation pour
concevoir notre Data Warehouse. La figure ci-dessous présente le modèle en constellation
de notre Data Warehouse

Figure 78:Modèles en constellation de data warehouse

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 :

Figure 80:Métadonnées des fichiers délimités et Excel

Pour conclure, nous effectuons la configuration de la connexion à la base de données de type


Postgresql nommée "credit_dw".

79
Figure 81:Connexion à la base de données Postgres

Extraction, transformation et chargement des tables de dimension et de les tables de fait


Nous allons maintenant avancer vers la mise en œuvre du processus ETL, y compris le
chargement de nos six tables de dimension et de les deux tables de faits dans la base de
données "credit_DW". Pour accomplir cette tâche, nous avons scrupuleusement suivi un
ensemble de bonnes pratiques lors de l'utilisation des jobs dans Talend Open Studio for Data
Integration :

-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 :

Figure 82:Workspace du Job Dim_agence

La première étape de l'élaboration de ce job consiste à importer les métadonnées du fichier


plat "agence.csv". Cela est réalisé en utilisant le composant d'entrée tFileInputDelimited pour
lire ce fichier. Les figures ci-dessous présentent ces composants ainsi que leurs schémas
respectifs :

Figure 83:schéma de “src_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.

Figure 84:Composant tUniqRow

La troisième étape implique la cartographie des données en utilisant le composant tMap. Ce


composant est le plus essentiel et puissant dans le logiciel Talend, car il permet d'effectuer
diverses opérations au sein d'une même interface, notamment la réalisation de jointures, de
transformations, de filtres et de gestion des données rejetées. Ces opérations peuvent
également inclure le renommage de colonnes, le changement de types de données, et la
création de nouvelles valeurs dérivées, parmi d'autres fonctionnalités.

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

Figure 87:Chargement de la table de dimension agence

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.

Figure 88:Exécution du job dim_client

Figure 89:Chargement de la table de dimension client

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 .

Figure 90:Exécution du job dim_credit

Figure 91:Chargement de la table de dimension Credit

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 :

Figure 92: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.

Figure 94:Chargement de table dim credit dans la base de donnée

5.2.3.4 Chargement de la table de dimension demande credit dans la base de


données
Le chargement de la dimension 'demandecredit' est similaire à celui de la dimension 'credit',
car il utilise également une 'standing area' qui sera également utilisée dans la table destinée à
stocker les données de demande de crédit. Par conséquent, nous allons simplement vous
présenter l'exécution des jobs 'sademande' et 'dimdemande', ainsi que le chargement de la
table de dimension 'demandecredit' dans notre base de données
La figure ci-dessous montre la structure du workspace du Job sademande :

Figure 95:la structure du workspace du Job sademande

88
Figure 96:chargement table sa demande

La figure ci-dessous montre la structure du workspace du Job dimdemande :

Figure 97:la structure du workspace du Dim demande

89
Figure 98:Chargement de la table des demandes

5.2.3.5 Chargement de la table de dimension date dans la base de données


La figure ci-dessous montre la structure du workspace du Job Dimdate :

Figure 99:la structure du workspace du Job Dimdate

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.

Figure 100: la structure du workspace du tRow Generator

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 :

Figure 102: Chargement de la table Dim date

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 :

Figure 103:la structure du workspace du 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.

Figure 105:Composant tMap dans job sacompte

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 ;

. Figure 106:Chargement de la table sacompte

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

Figure 108:Composant tMap dans job dimcompte

96
Figure 109:Chargement de la table dimcompte

5.2.3.7 Chargement de la table de faits crédit dans la base de données


La figure ci-dessous montre la structure du workspace du Job faitcredit :

Figure 110:la structure du workspace du job fait_credit

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 :

Figure 111: Composant tMap dans job faitcredit

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

5.2.3.8 Chargement de la table de faits demandecrédit dans la base de données


Le Job "Dimcdemande" 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 "Dimclemande" ainsi que le chargement
de la table de dimension "date" dans notre base de données.
La figure ci-dessous montre la structure du workspace du Job faitdemandecredit :

Figure 113:workspace du job fait demande credit

99
figure ci-dessous montre le travail réalisé dans l'éditeur de mapping du composant tMap :

Figure 114:Composant tMap dans job fait demande credit

Figure 115:Chargement de la table fait demande credit

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 :

Figure 116: choix de source de donnnées

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 :

Figure 117:connexion ala base de données Postgre

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 .

Figure 118:Selection de table nécessaire

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.

Figure 120:Modélisation dans PowerBi

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

Figure 121: Page d’acceuil

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

Figure 122:Tableau de bord suivi credit

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.

Figure 123:Tableau de bord de visualisation des crédits manipulées

Explication de choix des graphes :


Dans ce tableau de bord de suivi de crédit bancaire, j'ai intégré plusieurs graphiques
interactifs pour offrir une vue complète et personnalisable des données. Pour améliorer la
convivialité et la flexibilité du tableau de bord, j'ai utilisé des slicers, qui sont des éléments de
filtrage interactifs. Vous pouvez les utiliser pour sélectionner les critères de votre choix.

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

Figure 124: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

Figure 125: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

Figure 128:Nombre et montant de crédits accordés par secteur

10) Tableaux de bord suivi des agences


Dans le tableau de bord de suivi d'agence, nous avons intégré une carte interactive AirGSmap
qui offre une visualisation géographique des villes en Tunisie. Cette carte met en évidence le
nombre de crédits attribués à chaque agence bancaire dans ces villes, permettant ainsi une vue
rapide et visuelle de la répartition des crédits sur le territoire. Cette fonctionnalité facilite
l'identification des zones d'activité clés, des opportunités de croissance et des éventuels
déséquilibres géographiques dans la distribution des crédits, ce qui peut être précieux pour la
prise de décision stratégique et la gestion des agences bancaires.

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

11) Tableau de bord suivi client

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.

Figure 132:Tableau de bord suivi client

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.

Figure 133:Crédit accordée en fonction de la localisation des clients

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.

Figure 135:Nombre de crédits par tranche 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

Figure 136:Nombre de clients par le secteur d’activité

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

12) Tableaux de bord suivi demande de credit


Ce tableau de bord permettait aux utilisateurs de suivre en temps réel l'état d'avancement de
chaque demande de crédit. Les données étaient mises à jour automatiquement à mesure que
les demandes progressaient dans le processus, offrant ainsi une vue instantanée de la charge
de travail de l'équipe de gestion des crédits. Les indicateurs clés de performance, tels que le
temps moyen de traitement des demandes et le taux d'approbation, étaient également inclus
pour évaluer l'efficacité du processus.

Figure 138:Tableau de bord suivi demande credit

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

Figure 139:les trois cartes

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

Figure 140:Nombres des demandes correctes et incorrectes

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.

Figure 141:Répartition des motifs de refus de demandes crédits

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

Vous aimerez peut-être aussi