Vous êtes sur la page 1sur 67

Code : 1333 Année Universitaire : 2021-2022

Université de la Manouba

École Supérieure d’Économie Numérique

Rapport
de projet de fin d'études
Présenté en vue de l'obtention du diplôme de
Licence en Business Computing en Business Intelligence

Sujet
Gestion et traitement d'un processus
automatisé de demande de crédit

Élaboré par :
Omar Elglaa

Organisme d'accueil
Omar ELGLAA
BFI Groupe

Encadré par
ESEN Mme. Hanen BRAHMI
Société M. Mohamed Chams Eddin MOUEDHEN
Dédicace
Je dédie ce modeste travail de fin d’études :

A ma chère mère Warda,


Qui n’a jamais cessé de me soutenir et de m’encourager. Quoique je fasse je
ne te remercierai jamais assez pour ta bienveillance, ton sacrifice et ton
affection. Que Dieu te garde.
A mon cher père Mongi,
Qui a impatiemment attendu ce jour, en signe de reconnaissance et de
profonde gratitude, pour tous ses sacrifices et son dévouement.
A mes deux sœurs Amel et Wafa,
Pour leurs encouragements, leurs sacrifices et surtout leur soutien aux
moments difficiles de mon travail.
A toute ma famille et tous mes amis,
Je vous offre ce travail en témoignage de reconnaissance et de gratitude
pour l’encouragement et le soutien que vous n’avez cessé de m’apporter.

Elglaa Omar
Remerciements

Je tiens à adresser mes remerciements et mes gratitudes à mes encadrants du projet :


Mme. Hanen BRAHMI mon encadrante académique pour ses encouragements et sa
disponibilité le long de mon projet. Je tiens vivement à lui exprimer ma gratitude et mon
respect pour ses précieux conseils prodigués durant l’élaboration de ce travail, ainsi que
pour son encadrement.
M. Mohamed Chams Eddin MOUEDHEN mon encadreur au sein de BFI Groupe pour ses
précieux conseils, pour tout le soin qu’il m’a toujours manifesté à mon travail et pour sa
disponibilité.
Finalement mes remerciements et mes respects s’adressent aux membres du jury qui ont
daigné accepter d’évaluer cette modeste étude et d'exprimer notre gratitude à toute
l’équipe d'ESEN pour leur énorme effort pendant ces moments difficiles.

ii
Table des matières

Table des figures .............................................................................................................................vi


Liste des tableaux ............................................................................................................................ix
Introduction Générale ....................................................................................................................... 1
Chapitre 1 : Le contexte général du projet ....................................................................................... 2
1.1 Présentation de l'organisme d'acceuil ................................................................................ 2
1.1.1 Historique ................................................................................................................... 2
1.1.2 Offres .......................................................................................................................... 2
1.1.3 Services ...................................................................................................................... 3
1.2 Présentation de projet ........................................................................................................ 4
1.2.1 Cadre de projet ........................................................................................................... 4
1.2.2 Problématique............................................................................................................. 4
1.2.3 Etude de l’existant ...................................................................................................... 4
1.2.4 Critique de l’existant .................................................................................................. 5
1.2.5 Solution proposée ....................................................................................................... 5
1.3 Méthodologie adoptée ....................................................................................................... 5
1.4 Environnement de travail................................................................................................... 7
1.4.1 Environnement matériel ............................................................................................. 7
1.4.2 Environnement logiciel .............................................................................................. 7
Chapitre 2 : Concepts de base de la science de donnée ................................................................. 14
2.1 Risque bancaire................................................................................................................ 14
2.1.1 Définition ................................................................................................................. 14
2.1.2 Types de risque......................................................................................................... 14
2.2 Data Science .................................................................................................................... 15
2.2.1 Les données .............................................................................................................. 16
2.2.2 Processus de data science ......................................................................................... 17
2.2.3 Objectif de la science des données [27] ................................................................... 18
2.2.4 Domaines d’utilisation de la science des données ................................................... 18

iii
2.3 Machine Learning ............................................................................................................ 19
2.3.1 Apprentissage supervisé ........................................................................................... 19
2.3.2 Apprentissage non supervisé .................................................................................... 20
2.3.3 Apprentissage par renforcement ............................................................................... 22
2.3.4 Evaluation des modèles ............................................................................................ 22
Chapitre 3 : Compréhension et préparation des données ............................................................... 26
3.1 Compréhension de données ............................................................................................. 26
3.1.1 Description des données ........................................................................................... 26
3.1.2 Exploration des données ........................................................................................... 28
3.2 Préparation des données .................................................................................................. 30
3.2.1 Nettoyage des données ............................................................................................. 30
3.2.2 Correction des données ............................................................................................ 31
Chapitre 4 : Modélisation et évaluation ......................................................................................... 33
4.1 Modélisation .................................................................................................................... 33
4.1.1 Division des données ................................................................................................ 33
4.1.2 Construction des modèles......................................................................................... 33
4.2 Evaluation ........................................................................................................................ 37
4.2.1 Performance des modèles ......................................................................................... 38
Chapitre 5 : Déploiement ............................................................................................................... 40
5.1 Analyse des besoins ......................................................................................................... 40
5.1.1 Les acteurs ................................................................................................................ 40
5.1.2 Les besoins fonctionnels et non fonctionnels ........................................................... 40
5.1.3 Diagramme de cas d’utilisation ................................................................................ 41
5.1.4 Raffinement des cas d’utilisation ............................................................................. 42
5.2 Analyse ............................................................................................................................ 44
5.3 Conception ....................................................................................................................... 48
5.3.1 Diagramme de classe ................................................................................................ 48
5.4 Réalisation ....................................................................................................................... 49
5.4.1 Enregistrer le modèle ............................................................................................... 49
5.4.2 Les interfaces de l’application.................................................................................. 50
Conclusion ...................................................................................................................................... 54

iv
Webographie .................................................................................................................................. 55

v
Table des figures

Figure 1.1 - Logo de la société BFI groupe [1] ............................................................................................. 2


Figure 1.2 – Le processus CRISP-DM [2] .................................................................................................... 6
Figure 1.3- Logo anaconda [3] ...................................................................................................................... 7
Figure 1.4-Logo jupyter notebook [4] ........................................................................................................... 8
Figure 1.5 - Logo de Drow.io [5] .................................................................................................................. 8
Figure 1.6-Logo de Python [6] ...................................................................................................................... 8
Figure 1.7– Logo de NumPy [7] ................................................................................................................... 9
Figure 1.8 – Logo de Pandas [8] ................................................................................................................... 9
Figure 1.9 – Logo de Matplotlib [9] .............................................................................................................. 9
Figure 1.10 – Logo de seaborn [10] ............................................................................................................ 10
Figure 1.11 – Logo de Scikit-learn [11] ...................................................................................................... 10
Figure 1.12 – Logo de Visual Studio Code [12] ......................................................................................... 10
Figure 1.13 – Logo de Mongo DB [13] ....................................................................................................... 11
Figure 1.14 – Logo de ReactJS [14] ............................................................................................................ 11
Figure 1.15 – Logo de NodeJS [15] ............................................................................................................ 11
Figure 1.16 – Logo de ExpressJS [16] ....................................................................................................... 12
Figure 1.17 – Logo de Flask [17] ................................................................................................................ 12
Figure 1.18 – Logo de CSS [18].................................................................................................................. 12
Figure 1.19 – Logo de Bootstrap [19] ......................................................................................................... 13
Figure 1.20 – Logo de Power BI [20].......................................................................................................... 13
Figure 2.1 – Les outils de la science de données [24] ................................................................................. 15
Figure 2.2 – Types des données [25] ........................................................................................................... 16
Figure 2.3 – Processus de la science de donnée [26]................................................................................... 17
Figure 2.4 – les types d’apprentissage automatique supervisé [29] ............................................................ 19
Figure 2.5 – Exemple de la régression ........................................................................................................ 20
Figure 2.6 – Exemple de la classification [31] ............................................................................................ 20
Figure 2.7 – Les types d’apprentissage automatique non supervisé [32] .................................................... 21
Figure 2.8 – Exemple de clustering [33] ..................................................................................................... 21

vi
Figure 2.9 – Mécanisme d’apprentissage par renforcement [35] ................................................................ 22
Figure 2.10 - Matrice de confusion [36] ...................................................................................................... 23
Figure 2.11 – Exemple de rapport de classification [37] ............................................................................. 23
Figure 2.12 – Exemple de précision du score.............................................................................................. 24
Figure 2.13 – Exemple de cross validation [38] .......................................................................................... 24
Figure 3.1 – Information générale sur les données...................................................................................... 26
Figure 3.2 – Extrait des données ................................................................................................................. 27
Figure 3.3 - Visualisation des données catégorique .................................................................................... 28
Figure 3.4 - Prédiction des crédits ............................................................................................................... 29
Figure 3.5 – Salaires des clients .................................................................................................................. 29
Figure 3.6 – Visualisation des données numérique ..................................................................................... 30
Figure 3.7 – Recherche des valeurs nulles .................................................................................................. 31
Figure 3.8 – La correction des valeurs manquantes .................................................................................... 31
Figure 3.9 – Résultat après la correction des données ................................................................................. 32
Figure 3.10 – La base finale ........................................................................................................................ 32
Figure 4.1 – Division des données [39] ....................................................................................................... 33
Figure 4.2 – Random forest [40] ................................................................................................................. 34
Figure 4.3 – Logistic Regression [41] ......................................................................................................... 35
Figure 4.4 – Decision Tree [42] .................................................................................................................. 37
Figure 4.5 – Matrice de confusion de Random Forest ................................................................................ 38
Figure 4.6 – Rapport de classification de Random Forest ........................................................................... 39
Figure 5.1 - Diagramme de cas d’utilisation général................................................................................... 41
Figure 5.2 – Diagramme de séquence système relatif à l’authentification (SignUp) .................................. 44
Figure 5.3 – Diagramme de séquence système relatif à l’authentification (SignIp) .................................... 45
Figure 5.4 – Diagramme de séquence système relatif à la prédiction d’une demande de crédit. ................ 46
Figure 5.5 – Diagramme de séquence système relatif à la consultation du tableau de bord ....................... 47
Figure 5.6 – Diagramme de séquence système relatif à la consultation des informations clients ............... 48
Figure 5.7 – Diagramme de classe .............................................................................................................. 49
Figure 5.8 – Interface d’authentification (SignUp) ..................................................................................... 50
Figure 5.9 – Interface d’authentification (SignIn) ....................................................................................... 50
Figure 5.10 – Interface d'affichage les informations clients........................................................................ 51
Figure 5.11 – Interface de tableau de bord .................................................................................................. 52
Figure 5.12 – Interface de prédiction d’une demande de crédit .................................................................. 53

vii
viii
Liste des tableaux

Tableau 1.1 - Environnement matériel ............................................................................................ 7


Tableau 2.1 - Description des données .......................................................................................... 27
Tableau 4.1 - Avantages et inconvénients de Logistic Regression ............................................... 36
Tableau 4.2 - Avantages et inconvénients de l'arbre de décision .................................................. 37
Tableau 4.3 - Les modèles de classification .................................................................................. 38
Tableau 5.1 - Les besoins fonctionnels et non fonctionnels ......................................................... 40
Tableau 5.2 - Description textuelle du cas d’utilisation « S’authentifier » ................................... 42
Tableau 5.3 - Description textuelle du cas d’utilisation «Gestion des clients»............................. 42
Tableau 5.4 - Description textuelle du cas d’utilisation «Consulter le tableau de bord» .............. 43
Tableau 5.5 - Description textuelle du cas d’utilisation «Prédiction d’une demande de crédit» .. 43

ix
Introduction Générale

De nos jours, les banques et les assurances financières font face à une concurrence. Pour ce faire,
ils tentent d’étudier les informations clients, leurs besoins et leurs activités. Les prêts ont joué un
rôle important dans la vie des entreprises.
Comme tout secteur, le domaine financières et plus précisément le secteur bancaire s’oriente à
renforcer la capacité à répondre aux changements des besoins du marché et consolider des
services pour être plus proche des clients.
Les banques et les instituts financiers d'aujourd'hui doivent toujours gérer les informations. Par
conséquent, vous avez besoin d'un moyen efficace d'analyser vos données pour prendre de
meilleures décisions.
Donc, le but des banques est de connaitre leurs clients qui peuvent payer leur crédit. Pour cette
raison, les banques utilisent la science de données et l’apprentissage automatique pour faciliter le
processus automatisé de prédiction de risque bancaire.
Dans ce contexte, s’introduit notre projet de fin d’études, intitulé « Gestion et traitement d'un
processus automatisé de demande de crédit » qui consiste à prédire la réponse de demande de
crédit pour les clients selon plusieurs attributs dans le but d’améliorer le processus de prise de
décision. Notre rapport se compose de 5 chapitres :
• Dans le premier chapitre, nous mettons le projet dans son contexte général.
• Dans le deuxième chapitre, nous définissons en premier lieu le phénomène de risque
bancaire et ses types. En deuxième lieu, nous avons présenté la science de données et ses
objectifs ainsi que l’apprentissage automatique, ses types et comment évaluer un modèle.
• Dans le troisième chapitre, nous présentons les phases de compréhension et préparation de
données de la méthodologie CRISP-DM présenté dans le chapitre précèdent.
• Dans le quatrième chapitre, nous présentons les algorithmes utilisés avec une
comparaison de ces algorithmes pour choisir le modèle le plus performant.
• Dans le cinquième chapitre, nous présentons la phase finale de notre méthodologie qui
consiste à identifier les besoins, présenter l’environnement matériel et logiciel, déterminer
la structure de notre application et présenter les interfaces de l’application.

1
Chapitre 1 : Le contexte général du projet

Introduction
Ce premier chapitre définit le contexte général de notre projet de fin d'étude. Nous fournirons une
brève présentation de l'organisme d'accueil. Nous détaillerons le problème et la solution
proposée. Nous fixons le choix des méthodes de travail.

1.1 Présentation de l'organisme d'acceuil [1]

1.1.1 Historique

Figure 0.1 - Logo de la société BFI groupe [1]

Fondé en 1994, BFI groupe est un groupe africain spécialisé dans l’édition et l’intégration des
solutions bancaires. Le groupe BFI est présent dans plus que 200 institutions financières dans 25
pays à travers le continent africain.
Parmi les partenaires :
o Natixis : établissement financier français filiale du groupe BPCE.
o BCEAO : Banque centrale des États de l'Afrique de l'Ouest.
o West African Monetary Institute : Institut monétaire ouest-africain.

1.1.2 Offres

Les offres de groupe BFI sont présente sur quatre axes du domaine de la banque et la finance :

2
▪ Le Global Banking modulaire couvrant l’ensemble des métiers de la banque
▪ Les systèmes de place
▪ Les produits à forte valeur ajoutée
▪ L’offre digitale

1.1.3 Services

BFI propose des services innovants et modernes portant sur divers domaines tels que :
➢ Carthago : Global Banking Urbanisé : une solution globale, modulaire et hautement
sécurisée, couvrant l’ensemble des métiers des banques et institutions financières. Elle
est dotée d’une architecture solide et performante, orientée services.Citons l’exemple
de groupe BNP PARIBAS qui utilise la solution Carthago Global. Cette solution
inclut :
▪ Des modules métiers de la banque, pour gérer la nomenclature bancaire,
l’organisation de la banque.
▪ La gestion des opérations de la banque.
▪ La gestion des opérations de la clientèle.

➢ Carthago : Plateforme digitale : nous citons l’exemple de groupe BGFI qui utilise la
solution Carthago Digitale. Cette solution inclut :
▪ Cash managment
▪ Onligne banking
▪ E-wallet
▪ Agence digitale

➢ Carthago : Systèmes centrales : nous citons l’exemple de la Banque des institutions


mutualistes de l’Afrique de l’Ouest et la banque de l’habitat du Niger BHN qui
utilisent Carthago comme système d’information. Cette solution inclut :
▪ Hannibal-Compensation :
✓ La gestion du processus de télécompensation.
✓ La gestion des échanges entre les participants et le centre de
compensation via Web Service.
✓ Le monitoring et la surveillance du système.

▪ La centrale des risques Alyssa-CIR :


✓ L’identification unique des clients personnes physiques et morales.
✓ Des mises à jour périodiques des encours d’engagements.
✓ Des incidents de paiement et régularisations sur les instruments de débit.

▪ Carthago Supervision Bancaire :


✓ Module de gestion des paramètres transversaux.
✓ Module de gestion administrative.

3
✓ Module de contrôle sur place.

1.2 Présentation de projet


Dans cette partie, nous présentons le cadre général de notre projet. Nous décortiquons la
problématique posée. Nous dégageons le but de notre projet tout en avançant la méthodologie
adoptée pour son accomplissement.

1.2.1 Cadre de projet

Le projet consiste à mettre en place une plateforme d’aide à la décision qui offre des
fonctionnalités comme la vérification de l’identité et l’appartenance du demandeur de crédit avec
un modèle de Machine Learning. En effet, la plateforme est basée sur trois parties : (1) une partie
dédiée aux algorithmes de machine learning ; (2) La prédiction d’une demande de crédit (3) une
partie dashboard. Le but est de mettre en place une solution permettant aux décideurs d’accepter
ou de refuser une demande de crédit.

1.2.2 Problématique

Les prêts ont joué un rôle important dans la vie quotidienne des entreprises et des particuliers.
Avec la concurrence sans cesse croissante dans le monde financière, l’activité de contracter un
crédit est devenue plus au moins inévitable. Les banques dépendent de l’activité de prêt dans le
but fondamental de gérer leurs affaires. Un prêt est assez entablure bénéfique pour les préteurs et
les emprunteurs. Cependant, il comporte un grand risque appelé risque de crédit.
Pour faire face à ce problème, nous avons proposé une plateforme d'aide à la décision permettant
aux décideurs de faire des analyses en temps réel afin d’accepter ou refuser la demande de crédit
pour les clients, ce qui engendre par la suite l’amélioration de l’activité financière des banques.

1.2.3 Etude de l’existant

Dans notre projet, nous avons trouvé que les banques utilisent des méthodes classiques pour faire
face au risque de crédit, essentiellement les outils de prédiction de demande de crédit. Une équipe
assure la suivie d'une procédure de demande de crédit :
1. Simulation de l’emprunt.
2. Comparaison puis choix de l’offre.
3. Dépôt de la demande avec les documents justificatifs.
4. Etude de dossier par l’organisme préteur.
5. Acceptation ou refus de la demande.
6. Signature de contrat puis déblocage des fonds.

4
Cependant, cette méthode ne permet pas de donner une image réelle du risque associé au client
emprunteur.

1.2.4 Critique de l’existant

Après l’analyse du principe de fonctionnement d’analyse de risque bancaire, nous pouvons citer
quelques critiques relatives aux procédures opérantes actuellement :
− La collecte et la saisie des données manuellement, est un processus très lent.

− Perdre des documents et avoir des fautes dans la saisie des données.

− L'absence d'une solution décisionnelle rend plus difficile aux décideurs de prédire
l’acceptation ou le refus d'un crédit.

1.2.5 Solution proposée

Dans l’objectif de résoudre le problème dégagé auparavant, nous introduisons notre projet de fin
d'étude intitulé « Gestion et traitement d’un processus automatisé de demande de crédit ».
Notre solution comprend la mise en place d’une plateforme d’aide à la décision permettant aux
décideurs un processus automatisé afin d’accepter ou refuser la demande de crédit pour les
clients. Notre solution peut engendrer une amélioration de l’activité financière des banques.

1.3 Méthodologie adoptée

• Méthodologie CRISP-DM :
La méthode CRISP-DM est conçue en 1996. C’est un modèle de processus d’exploration de
données qui décrit une approche communément utilisée pour résoudre les problèmes du domaine
de l’analyse, de l’extraction et des sciences des données.
La figure 1.2 ci-dessous résume les phases de processus CRISP-DM.

5
Figure 0.2 – Le processus CRISP-DM [2]

▪ Compréhension métier : cette phase de compréhension de l'entreprise se concentre sur la


compréhension des objectifs et des exigences du projet.

▪ Compréhension des données : consiste à l'identification, la collecte et l'analyse des


ensembles de données qui peuvent vous aider à atteindre les objectifs du projet.

▪ Préparation des données : c’est la phase la plus longue dans le processus. Elle consiste à
préparer l’ensemble des données pour la modélisation. Ainsi, elle inclut ainsi la sélection
des données, le nettoyage des données, et la transformation pour les utiliser dans les
prochaines étapes.

▪ Modélisation : cette étape consiste à créer et évaluer divers modèles basés sur plusieurs
techniques de modélisation différentes. La modélisation inclut la sélection des
algorithmes de modélisation, la division de dataset en données d’ensemble d’entrainement
et données de test.

▪ Evaluation : la tâche d’évaluation du modèle concentre sur l'évaluation du modèle


technique pour atteindre les objectifs de l’entreprise.

▪ Déploiement : c’est la phase finale du processus CRISP-DM. Elle consiste à développer


et documenter un plan de déploiement du modèle, la surveillance et la maintenance pour
éviter les problèmes pendant la phase opérationnelle du modèle.

6
1.4 Environnement de travail
L’environnement de travail, désigne l’ensemble des outils et des technologies adoptés. Dans ce
qui suit, nous présenterons l’environnement matériel et logiciel.

1.4.1 Environnement matériel

Tableau 1.1 Environnement matériel

Caractéristiques Machine

Modèle DELL

Processeur Intel core i5

Système d’exploitation Windows 10 (64bits)

Mémoire RAM 8Go

Disque dur 1.80TB

1.4.2 Environnement logiciel

Dans cette section, nous définirons les outils et les technologies utilisés lors de la mise en place de notre
application.

• Anaconda

Figure 0.3 - Logo anaconda [3]


C’est une distribution libre et open source de plusieurs langages de programmation Python et R
pour la programmation des applications de la science de données et de l’apprentissage
automatique.

7
• Jupyter Notebook

Figure 1.4 - Logo jupyter notebook [4]


C’est un outil open source qui permet d’écrire plusieurs langages de programmation (R, Python,
Scala, etc.). Il permet aux scientifiques des données de créer des codes, visualiser, analyser et
explorer les données.
• Drow.io :

Figure 1.5 - Logo de Drow.io [5]


Drow io est un logiciel de dessin graphique gratuit et open source. Il est utile pour la création des
diagrammes UML, des diagrammes de réseau et des organigrammes.
• Python

Figure 0.6 - Logo de Python [6]


Python est un langage de programmation facile à apprendre. Le développement du code avec
Python est plus rapide. Ce langage est utilisé pour la science de données, le développement web,
l’apprentissage automatique et l’intelligence artificielle.

8
• Numpy

Figure 0.7 – Logo de NumPy [7]


Numpy est une bibliothèque Python, libre et open source. Elle est utilisée pour manipuler les
tableaux multidimensionnels et les fonctions mathématiques.
• Pandas

Figure 1.8 – Logo de Pandas [8]


Pandas est la bibliothèque construit sur le langage de programmation Python. Elle est un outil
d’analyse et de manipulation de données, flexible et facile à utiliser.
• Matplotlib

Figure 0.9 – Logo de Matplotlib [9]


Matplotlib est une bibliothèque pour la visualisation de données en Python, utilisée pour tracer
des données sous formes de graphiques (les histogrammes, les nuages de points et les graphiques
à barres etc.).
• Seaborn

9
Figure 1.10 – Logo de seaborn [10]
Seaborn est une bibliothèque de visualisation de données basée sur Matplotlib. Elle fournit une
interface avancée pour dessiner des graphiques statistiques.
• Scikit-learn

Figure 0.11 – Logo de Scikit-learn [11]


Scikit-learn est une bibliothèque Python libre et open source, plus utile pour l’apprentissage
automatique. Elle fournit de nombreux algorithmes d’apprentissage automatique, notamment la
classification, la régression et le regroupement.
• Visual Studio Code

Figure 0.12 – Logo de Visual Studio Code [12]


Visual Studio Code est un éditeur de code open source et multiplatefores (Windows, Linux et
Mac) pour le développement d’application avec plusieurs langages de programmation tel que
Node.Js, JavaScript et React.Js, etc.

10
• Mongo DB :

Figure 0.13 – Logo de Mongo DB [13]


MongoDB est un système de gestion de base de données orienté document qui peut être distribué
sur un nombre illimité d'ordinateurs. Il est écrit en langage C++.
• React JS

Figure 1.14 – Logo de ReactJS [14]


React est un Framework front end open source basé sur JavaScript utilisée pour la création des
interfaces utilisateur pour des applications web.
• Node JS :

Figure 0.15 – Logo de NodeJS [15]

11
Node.js est une technologie qui permet d’exécuter des services écrit en JavaScript au niveau de
serveur appelée API (Application Programming Interface) et d’effectuer des différentes
opérations.

• Express JS :

Figure 0.16 – Logo de ExpressJS [16]


Express.js est un framework permet de créer des applications Web basées sur Node.js.

• Flask :

Figure 0.17 – Logo de Flask [17]


Flask est un microframework open source pour le développement Web en Python qui fournit des
outils, des bibliothèques et des techniques pour faciliter la mise en œuvre.
• CSS :

Figure 0.18 – Logo de CSS [18]

12
CSS (Cascading Style Sheets) est un langage informatique permettant de mettre en forme des
pages web HTML ou XML.
• Bootstrap :

Figure 0.19 – Logo de Bootstrap [19]


Bootstrap est un framework front-end utiles pour créer des conceptions de sites Web et
d'applications Web. Il s'agit d'une collection de code HTML et CSS, de formulaires, de boutons,
d'outils de navigation et d'autres éléments interactifs.
• Power Bi :

Figure 0.20 – Logo de Power BI [20]


Power BI est la solution d'analyse de données de Microsoft. Son interface très simple qui permet
la création de visualisations de données interactives personnalisées, des rapports et des tableaux
de bord.

Conclusion
Dans ce premier chapitre, nous avons présenté en premier lieu l'organisme d'accueil BFI Groupe.
Puis, nous avons élaboré une présentation générale du projet : cadre de projet, la problématique,
l'étude de l'existant et la solution adéquate. Ensuite, la méthodologie CRISP- DM adoptée pour
notre projet et nous avons décrit l’environnement matériel et logiciel. Dans le chapitre suivant,
nous expliquons les notions de base de la science des données et présenter l’apprentissage
automatique.

13
Chapitre 2 : Concepts de base

Introduction
Dans ce chapitre, en premier lieu, nous définissons le phénomène de risque bancaire et ses types
En deuxième lieu, nous rappelons les notions de base liées à la science de données (Data
science), son processus, ses objectifs et nous présentons l’apprentissage automatique (Machine
Learning), ses types, etc.

2.1 Risque bancaire

2.1.1 Définition
Le risque bancaire est le risque auquel sont confrontés les établissements bancaires dans le cadre
de leurs activités. Les activités bancaires exposent les établissements bancaires et les institutions
financières à de nombreux risques de par leur rôle d'intermédiaires financiers et leurs services
associés.[21]

2.1.2 Types de risque


Nous avons présenté trois types de risque : [22]
• Le risque de liquidité :
La liquidité est une entreprise qui est capable de faire face à des flux de trésorerie négatifs à tout
moment de son existence future.
« Il s’agit du risque de ne pas trouver de contrepartie pour vendre ou acheter un produit
financier. Plus le nombre d’acteur sur le marché est grand, plus les contreparties potentielles et
donc la possibilité d’échanger rapidement son produit financier est grande. » [22]

• Le risque de change :
Il s'agit d'un risque qui survient lors d'investissements à l'étranger et de produits financiers en
devises étrangères. L'appréciation d'une devise par rapport à sa devise est un coût pour
l'entreprise, mais celle-ci peut couvrir ce risque avec des outils de couverture financière.

14
• Le risque de crédit :
Le risque de crédit est défini comme la probabilité qu'un débiteur ne soit pas en mesure de
rembourser le crédit accordé par une institution financière. Le risque de crédit est clairement
fonction de la qualité de l'emprunteur. De plus, ce risque est naturellement fonction de trois
paramètres : le montant réclamé, la probabilité de défaut et la proportion de créances non
recouvrables en cas de défaut.

2.2 Data Science


« La Data Science est la science des données. C’est la discipline qui permet à une entreprise
d’explorer et d’analyser les données brutes pour les transformer en informations précieuses
permettant de résoudre les problèmes de l’entreprise. » [23]
Le but de la science de donnée est l’extraction d’informations exploitables à partir de données
brutes pour aider l’entreprise à la prise des décisions. Elle englobe une large variété d’outils et de
techniques telles que la programmation informatique, l’analyse prédictive, les mathématiques, les
statistiques.

Figure 0.1 – Les outils de la science de données [24]

15
2.2.1 Les données
En science des données, nous confrontons de nombreux types de données. Chaque type a
tendance à nécessiter des outils et des techniques différents.
Les types de données
Les principales catégories de données sont les suivantes : [25]
• Données structurées : sont des données qui sont résident dans un système de gestion de
bases de données relationnelles.
• Données non structurées : sont des données définies comme des données présentes sous
forme complexe citons l’exemple des textes, des images, des vidéos et des documents.

• Données semi structurées : Les données non structurées ne sont pas organisées dans un
format qui permet d'y accéder et de les traiter plus facilement. Par exemple : des fichiers
XML.

Figure 0.2 – Types des données [25]

16
2.2.2 Processus de data science

Figure 0.3 – Processus de la science de donnée [26]

Pour bien explorer le processus de la science de donnée, nous détaillons chaque étape :
• Définir les objectifs de recherche : c’est une étape importante dans notre projet. Elle
consiste à une bonne compréhension des objectifs, des fonctionnalités et des livrables.

• Récupération des données : cette étape consiste à récupérer les données pour développer
notre solution.

• Préparation des données : Après la collecte des données, nous devons les nettoyer et les
préparer à la phase de modélisation. Cette étape se compose de trois sous phases : la sélection
des données, pré-traitement des données et la transformation des données.
a. Sélection des données : elle consiste à sélectionner les données sur lesquels nous
allons travailler.

b. Pré-traitement des données : cette étape concentre sur le nettoyage des données avec
la suppression des erreurs et le traitement des valeurs manquantes.

c. Transformation des données : elle garantit que les données sont dans un format
approprié afin de les utiliser dans la génération des modèles.

• Exploitation des données : cette étape vise à approfondir la compréhension des données. En
étudiant l'interaction des variables les unes avec les autres et la distribution des données. Elle
comprend l'utilisation de graphiques et de visuels pour explorer et analyser les données.

17
• Construire les modèles : Dans cette phase, nous avons utilisé des modèles de la machine
learning, en utilisant les données résultant des étapes précédentes. Pour commencer, il faut
diviser le dataset en deux parties : première partie training data (les données d’apprentissage)
et la deuxième partie test data (les données de test). Ensuite, nous trainons les données à
travers les modèles choisis en exécutant le modèle et en repérant les diagnostics.

• Présentation des résultats : Cette étape consiste à présenter les résultats. Ces résultats
peuvent prendre plusieurs formes : des rapports et des tableaux de bords pour améliorer la
prise de décision.

2.2.3 Objectif de la science des données [27]


➢ Cette science permet simplement de mieux produire, valoriser et mémoriser la
connaissance.

➢ La science de données rend l'information plus facile à exploiter, à protéger et à valoriser.

➢ Permettre une production et une utilisation plus efficiente des données et des statistiques
au profit des outils d’aide à la décision, d’évolution et de production.

2.2.4 Domaines d’utilisation de la science des données


Parmi les utilisateurs de la science des données : [27]
✓ Banque, assurance et finance :
− La détection des fraudes
− L’analyse de risque

✓ Santé
− Le diagnostic des maladies
− Prédiction de la survie dans les rares maladies

✓ Sport
− Suivi de la performance des joueurs et des athlètes
− Prendre des décisions de recrutement plus claire

✓ E-commerce
− Analyse de comportement des clients

18
− Suggestion des produits

2.3 Machine Learning


L'apprentissage automatique, également connu sous le nom "machine learning ", permet à un
système d'apprendre à partir de données plutôt que par une programmation explicite.
Un modèle de machine learning est le résultat généré lorsque nous entraînons un algorithme
d'apprentissage automatique avec des données. Par conséquent, nous fournissons des données en
entrée à un modèle, afin de reçevoir un résultat en sortie. [28]

2.3.1 Apprentissage supervisé


L'apprentissage supervisé (Supervised Learning) commence généralement par un ensemble de
données bien défini et comprend la façon dont ces données sont classées. Le but de
l'apprentissage supervisé est de découvrir des modèles dans les données et de les appliquer au
processus analytique. [29]
L’apprentissage supervisé peut être divisé en deux types de problèmes :

Figure 0.4 – les types d’apprentissage automatique supervisé [29]

• Régression :
La régression est un modèle de machine learning utilisée pour la prédiction de variables continue
telles que les valeurs numériques, les montants, nombres de jours etc. Parmi les algorithmes de
régression, nous citons : [29]

• Régression linéaire
• Arbres de régression
• Régression polynomiale

19
Figure 0.5 – Exemple de la régression

• Classification :

La classification est un modèle de machine learning utilisée lorsque la variable de sortie est
catégorielle. Par exemple genre : homme ou femme, Oui ou non, vrai ou faux. Parmi les
algorithmes de classification, nous citons : [29]
• Forêt aléatoire.
• Arbres de décision.
• Régression logistique.

Figure 0.6 – Exemple de la classification [31]

2.3.2 Apprentissage non supervisé


L'apprentissage non supervisé (Unsupervised learning) est utilisé lorsque le problème nécessite
une quantité massive de données non étiquetées. Cette méthode permet de trouver la structure de
l’ensemble de données, de regrouper ces données en fonction de leurs similitudes et de
représenter les données dans un format bien déterminé.

20
Par exemple, la segmentation des utilisateurs sur les réseaux sociaux telles que Twitter, Instagram
et TikTok, aussi la classification des images et des documents. [32]
L’apprentissage non supervisé peut être réalisé en deux types de problèmes :

Figure 0.7 – Les types d’apprentissage automatique non supervisé [32]

• Clustering
C’est une méthode de regroupement en cluster de sorte que l’analyse de cluster trouve des points
communs entre les données et les regroupe selon les points communs.
Parmi les algorithmes de clustering, nous citons : [32]
• K-means clustering.
• KNN (k-plus proches voisins).
• Regroupement hiérarchique.

Figure 0.8 – Exemple de clustering [33]

• Les règles d’association

21
Les règles d’associations sont utilisées pour trouver les relations entre les variables. Elles
déterminent l’ensemble d’éléments qui se produisent ensemble pour produire un résultat.
Par exemple, la consommation : les personnes qui ont acheté un article A (lait), ils vont
également acheter l’article B (café).
Parmi les algorithmes d’association, nous citons : [34]
• Opus.
• Apriori.
• Guha.

2.3.3 Apprentissage par renforcement


L'apprentissage par renforcement (reinforcement learning) consiste à un agent autonome qui
apprend les actions à partir des expériences, de façon à optimiser une récompense quantitative au
cours du temps.
Par exemple : les véhicules autonomes, l’automatisation industrielle.
Parmi les algorithmes d'apprentissage par renforcement, nous citons : [35]
• Policy Gradient.
• Q-Learning.

Figure 0.9 – Mécanisme d’apprentissage par renforcement [35]

2.3.4 Evaluation des modèles

2.3.4.1 Matrice de confusion

Une matrice de confusion ou tableau de contingence est un outil permettant de mesurer les
performances d’un modèle de Machine Learning.

22
Figure 2.10 - Matrice de confusion [36]
Pour comprendre le fonctionnement d’une matrice de confusion, il convient de bien comprendre
les 4 termes principaux : [37]
• Vrai Négative (TN) : la prédiction est négative et la valeur réelle est positive.

• Vrai Positive (TP) : la prédiction est positive et la valeur réelle est positive.

• Faux Positive (FP) : la prédiction est positive mais la valeur réelle est négative.

• Faux Négative (FN) : la prédiction est positive mais la valeur réelle est négative.

2.3.4.2 Rapport de classification:

C’est un rapport d’évaluation des performances d'un modèle donné basé sur la classification. Il
affiche la précision, le rappel, le score F1 et le support du modèle.

Figure 0.11 – Exemple de rapport de classification [37]

Pour comprendre le fonctionnement du rapport de classification, il convient de bien


comprendre les 4 termes principaux : [37]
• Précision : la précision est définie comme le rapport des vrais positifs à la somme des
vrais et des faux positifs.

23
• Le rappel : le rappel est défini comme le rapport des vrais positifs à la somme des
vrais positifs et des faux négatifs.

• Score F1 : c’est la moyenne harmonique de la précision et du rappel. Lorsque le score


F1 varie vers 1.0, le modèle sera performant.

• Support : c’est le nombre d'occurrences réelles de la classe dans l'ensemble de


données.

2.3.4.3 Précision du score

C’est la mesure de performance de modèle, il s’agit d’un rapport entre l’observation positive
prédite et le nombre total d’observations. Quand la précision est proche de 1.0, le modèle choisi
est le meilleur.

Figure 0.12 – Exemple de précision du score


Cet exemple montre que 0.69 des observations sont positives ce qui signifie que le modèle est
69% précis.

2.3.4.4 Cross validation

Il s'agit d'une technique permettant d'examiner comment les modèles statistiques se généralisent à
des ensembles de données indépendants. La cross validation vérifie la validité du modèle après
avoir divisé les données en deux parties : les données d'apprentissage et les données de test.
Cette technique peut être utilisée pour comparer différentes méthodes de prévision et leurs
performances, ainsi que dans le domaine des statistiques médicales. [38]

Figure 0.13 – Exemple de cross validation [38]

24
Conclusion
Au cours de ce chapitre, nous avons défini le risque bancaire et ses types. Ensuite, nous avons
présenté le concept de science de donnée aussi connu sous le nom de Data Science. Également,
nous avons illustré que l’apprentissage automatique (Machine Learning), ses types et les
méthodes d’évaluation des modèles.
Le chapitre suivant est consacré à la compréhension et la préparation des données pour les
entrainer sur les modèles.

25
Chapitre 3 : Compréhension et préparation des données

Introduction
Ce présent chapitre est dédié aux phases de compréhension et de préparation des données de la
méthodologie CRISP-DM. La première partie est consacrée à la compréhension de l'ensemble
des données à partir des outils de visualisation. La deuxième partie consiste en la préparation de
ces données.

3.1 Compréhension de données


Le projet consiste à étudier et prédire l’acceptation ou le refus de la demande de crédit bancaire.
Pour cela, nous avons travaillé sur des données bancaires.

3.1.1 Description des données

Pour explorer les données, la méthode info() renseigne sur des informations sur les datasets,
compris le type d'index, les colonnes, les valeurs non nulles et l'utilisation de la mémoire.

Figure 0.1 – Information générale sur les données

26
Notre dataset contient 13 colonnes et 614 lignes. Notre fichier de type CSV se compose de 4
colonnes de type réel, 8 colonnes sont de type object et une colonne de type entier.
La figure 3.2 montre un extrait de nos données en utilisant la méthode head() qui affiche les 5
premiers ligne de notre dataset.

Figure 0.2 – Extrait des données


Le tableau présente la description de tous les attributs de dataset.
Tableau 2.1 - Description des données

Nom du colonne Description

Loan ID L’identifiant du crédit

Gender Sexe du client

Married Le client est marié ou pas

Dependents Nombre des enfants

Education Le client est diplômé ou pas

Self Employed Le client est employé ou pas

Applicant Income Salaire

Coapplicant Income Salaire des membres de famille

Loan Amount Montant de crédit

Loan Amount Term Durée de paiement du crédit

Credit History L’historique de crédit du client

Property Area Zone de résidence du client

Loan Status Réponse de prédiction

Pour les données de type objet, elles contiennent plusieurs descriptions :

27
▪ Property area: Urban, Semiurban et Rural
▪ Education : Graduate et Not Graduate
▪ Gender: Male et Female

3.1.2 Exploration des données

C’est une étape pour explorer les données à l’aide des tableaux, des graphiques et des autres
outils de visualisation. Les analyses permettent une bonne compréhension des données et des
relations entre elles.

Figure 0.3 - Visualisation des données catégorique

Cette figure présente un histogramme. C’est une représentation graphique permettant d'illustrer la
répartition empirique des variables en les représentants avec des barres correspondantes chacune
à une classe.
Notre figure montre que :
▪ 480 des clients sont diplômés, tandis que 120 ne sont pas diplômés.
▪ Plus de 500 des clients occupent un travail, cependant mois de 100 clients ne sont pas
des employés.
▪ Plus de 200 clients habitant dans une région semi-urbain, 200 clients dans une région
urbain et le reste dans une région rurale.

28
Figure 0.4 - Prédiction des crédits
Le diagramme à barres de la figure 3.4 indique que plus de 400 des clients sont accordés pour un
crédit, tandis que, près de 180 clients ne sont pas accordés pour avoir un crédit.
Cette figure 3.5 présente les salaires des deux sexes des clients :

Figure 0.5 – Salaires des clients


D’après cette figure, on remarque que la plupart des salaires des hommes sont entre 2000 à 10000
avec des faibles fréquences entre 30000 et 70000. Cependant la plupart des salaires des femmes
sont entre 1000 et 20000.

29
La figure 3.6 présente les distributions des montants de crédit, les salaires des clients et les
salaires des membres de famille.

Figure 0.6 – Visualisation des données numérique


La figure 3.6 nous montre :
▪ Plus de 80% demande un crédit entre 100 et 140.
▪ Plus de 90% des salaires des membres de famille du client sont entre 1000 et 5000.

3.2 Préparation des données


La préparation des données est l'une des phases les plus importantes de l'exploration de données.
Cette étape consiste à nettoyer les données pour les utiliser dans la phase de modélisation.

3.2.1 Nettoyage des données

Le pré-traitement des données est une étape importante de la phase de préparation des données.
Cette phase consiste à remplacer les données manquantes, corriger les erreurs dans les données,
etc.
D’abord, nous avons vérifié si notre dataset contient des valeurs manquantes (NaN).
Cette figure 3.7 présente le résultat obtenu :

30
Figure 0.7 – Recherche des valeurs nulles
D’après cette figure, nous remarquons qu’il y a 6 colonnes ayant des valeurs manquantes :
• Gender : 11 valeurs manquantes.
• Dependents : 10 valeurs manquantes.
• Self employed : 23 valeurs manquantes.
• Loan Amount : 5 valeurs manquantes.
• Loan Amount Term : 6 valeurs manquantes.
• Credit history : 29 valeurs manquantes.

3.2.2 Correction des données

Cette phase consiste à remplir les valeurs manquantes que nous avons repérées dans la phase
précédente.
Nous avons utilisé la méthode mode() du package Pandas. La fonction mode() du module de
statistiques python prend un ensemble de données comme paramètre et renvoie sa valeur
de mode.

Figure 0.8 – La correction des valeurs manquantes


La figure 3.8 montre la correction des variables catégorielles manquantes dans notre dataset.
Nous avons utilisé la méthode isnull(). Cette méthode détecte les valeurs manquantes dans une
dataset.

31
La figure 3.9 montre le résultat de vérification.

Figure 3.9 – Résultat après la correction des données


La figure 3.10 montre la correction des 6 colonnes qui possède des valeurs manquantes de notre
dataset.

Figure 0.10 – La base finale


Après la préparation des données, notre base finale est prête pour être utilisé dans les prochaines
phases de la méthodologie CRISP-DM. Elle contient 12 colonnes et 614 lignes.

Conclusion
Dans ce chapitre, nous avons présenté une étude détaillée des données à travers l'exploration et la
visualisation.
Dans le chapitre suivant, nous présentons la phase de modélisation de la méthodologie CRISP-
DM.

32
Chapitre 4 : Modélisation et évaluation

Introduction
Ce chapitre se concentre sur les phases de modélisation et d’évaluation des données. La première
partie sera consacrée à la modélisation des données préparées et la deuxième partie sera dédiée à
l’évaluation des modèles obtenus et le prétraitement de ces données.

4.1 Modélisation
Cette phase est la plus importante du processus CRISP-DM qui correspond vraiment à
l’apprentissage automatique. Dans cette étape, nous choisissons un ensemble d'algorithmes et les
alimentons de la base de données préparée dans le chapitre précédent.

4.1.1 Division des données

Pour la division de notre dataset, nous avons utilisé la fonction train_test_split() du bibliothèque
Python Scikit-learn. Notre dataset est divisée en deux parties : 70% des données pour
l’entrainement et 30% des données pour le test.
La figure 4.1 illustre la division du dataset

Figure 0.1 – Division des données [39]

4.1.2 Construction des modèles

Dans cette partie, nous définissons les différents algorithmes de classification supervisé pour
résoudre le problème de prédiction de crédit.

33
4.1.2.1 Forêt aléatoire

La forêt aléatoire (Random forest) est un algorithme d’apprentissage automatique qui appartient à
l’apprentissage supervisé. Il est basé sur le concept d’apprentissage d’ensemble.
La forêt aléatoire Forest prend des prédictions de chaque arbre de décision et, sur la base des
votes des prédictions, nous obtenons la solution de sortie finale.
Les étapes de la méthode Random Forest sont :
• Sélectionner les points de données aléatoires dans l’ensemble d’apprentissage.
• Construire les arbres de décision associés aux points sélectionnés.
• Choisir les résultats de chaque arbre de décision.
• Chercher les prédictions de chaque arbre et sélectionner le résultat qui remporte la
majorité des votes.
La figure 4.2 illustre le principe de Random forest.

Figure 0.2 – Random forest [40]


Tableau 4.1 - Avantages et inconvénients de Random Forest

Avantages Inconvénients

Très précis Lent à l’entrainement

Pas de sur-apprentissage Difficile à adapter avec les petits échantillons

34
Flexible et s’adapte à une variété de données

Le tableau 4.1 présente les avantages et les inconvénients de Random forest.

4.1.2.2 Régression logistique

La régression logistique (Logistic Regression) est un algorithme d’apprentissage automatique qui


appartient à l’apprentissage supervisé. Il est utilisé pour la prédiction des variables catégorielles.
C’est-à-dire le résultat doit être une valeur catégorique : oui ou non, 0 ou 1, etc.
La régression logistique peut être utilisée pour classer les observations à l'aide de différents types
de données. Il est facile de déterminer la variable la plus efficace à utiliser pour la classification.
Les types de la méthode Logistic Regression sont : [41]
• Binomial : deux types de variable, telles que 0 ou 1, Oui ou Non, etc.
• Multinomial : trois types non ordonnés de la variable, comme ‘chat’, ‘chiens’ ou
‘mouton’.
• Ordinal : trois types ordonnés de variables dépendantes ou plus, par exemple, ‘faible’,
‘moyen’ ou ‘élevé’.
La figure 4.3 illustre le principe de Logistic regression.

Figure 0.3 – Logistic Regression [41]


Les étapes de l’implémentation de la méthode Random Forest sont :
• Étape de prétraitement des données
• Ajustement de la régression logistique à l'ensemble d'apprentissage
• Prédire le résultat du test
• Tester la précision du résultat (Matrice de création de confusion)
• Visualisation du résultat de l'ensemble de test.

35
Tableau 4.2 - Avantages et inconvénients de régression linéaire

Avantages Inconvénients

Rapide à l’entrainement Lent et instable pendant l’apprentissage

Fonctionne facilement avec les petits Pas très précis


problèmes

Le tableau 4.2 présente les avantages et les inconvénients de la régression logistique

4.1.2.3 Arbre de décision

L'arbre de décision (Decision Tree) est une méthode d'apprentissage supervisé qui peut être
utilisée pour les problèmes de classification et de régression, mais qui sont souvent préférés pour
résoudre les problèmes de classification. C’est un schéma qui représente les résultats d’une série
de choix interconnectés, chaque nœud correspond à un attribut.
Les terminologies des arbres de décisions : [42]
• Nœud racine (Root Node) : le nœud racine appelé aussi nœud parent. C’est le point de
départ de l’arbre de décision, il représente la décision principale à chercher.
• Nœud feuille (Leaf Node) : les nœuds feuilles sont le résultat final de chemin de la
décision.
• Branche (Sub-Tree) : un arbre formé après la divisant.
• Nœud enfant : Les autres nœuds sont appelés nœuds enfants sauf le nœud racine et les
nœuds feuilles.
La figure 4.4 illustre le principe de l’algorithme d’arbre de décision.

36
Figure 0.4 – Decision Tree [42]
Tableau 4.3 - Avantages et inconvénients de l'arbre de décision

Avantages Inconvénients

Facile à associer avec des outils de décision. Faible performance

Temps d’exécution raisonnables Risque de sur-apprentissage

Simple à apprendre et comprendre Complexe à cause de plusieurs couches

Le tableau 4.3 présente les avantages et les inconvénients de l'arbre de décision.

Les étapes de la méthode arbre de décision sont :


• Remplir le nœud racine par l’ensemble des données demandé.
• Choisir le meilleur attribut dans l’ensemble de données.
• La division d’ensemble de données en sous-ensembles qui contient des valeurs des
attributs.
• Ajouter les nœuds d’enfants avec la création des branches de l’arbre de décision jusqu’ce
que chaque ligne débouche un nœud feuille.

4.2 Evaluation
Cette partie se concentre sur la phase d’évaluation des modèles d’apprentissage supervisé
appliqué sur les données de test dans la phase de modélisation.

37
4.2.1 Performance des modèles

Nous avons utilisé un ensemble de modèles de classification pour notre problème. Dans cette
section, nous présentons chaque modèle et évaluons sa performance dans le tableau 4.4.
Tableau 4.4 - Les modèles de classification

Modèles Accuracy en %

Random Forest 82.16

Logistic Regrerssion 81.62

Desicion Tree 70.73

Ce tableau montre que les exactitudes (accuracy) des trois modèles de classification sont très
proches les unes des autres. D’autre part, nous avons constaté que Random Forest est le modèle
le plus performant avec la plus grande exactitude, avec 82.16%.
Pour bien ajuster les résultats de notre modèle performant, nous présentons la matrice de
confusion représentée par la figure 4.5.

Figure 0.5 – Matrice de confusion de Random Forest


Après la visualisation de la matrice de confusion de modèle Random Forest comme illustré à la
figure. A partir de la figure 4.4, nous pouvons constater que la matrice de confusion est une
matrice 2*2, puisque le modèle résout le problème de classification binaire. Nous avons deux
classes : 0 pour les demandes de crédit refusées et 1 pour les demandes de crédit accepter. Nous
avons 130 et 22 sont des prédictions correctes puisque les valeurs diagonales indiquent des
prédictions correctes, alors que 4 et 29 sont des prédictions inexactes.
La figure 4.6 présente le rapport du classification de modèle Random Forest

38
Figure 0.6 – Rapport de classification de Random Forest
D’après cette figure, l’exactitude de notre modèle est égale à 82%. La précision de l’acceptation
des demandes de crédit est égale à 81% et la précision de refus des demandes de crédit est égale à
85%.

Conclusion
Dans ce chapitre, nous avons détaillés les trois algorithmes de classification supervisée. Après la
présentation des modèles, nous avons fait une comparaison des modèles. Nous avons remarqué
que Random Forest est avec l’exactitude la plus élevée. Ensuite, nous avons effectué une
évaluation en utilisant la matrice de confusion et le rapport de classification.
Le chapitre suivant concentre sur la dernière phase de la méthodologie CRISP-DM.

39
Chapitre 5 : Déploiement

Introduction
Dans ce dernier chapitre, nous commençons l’analyse des besoins. Nous avons déterminé les
acteurs, les besoins fonctionnels et non fonctionnels, le diagramme de cas d’utilisation suivi des
descriptions textuelles et des diagrammes de séquences. En deuxième lieu, nous présentons la
conception par les diagrammes de séquence détaillés et le diagramme de classe. Puis, nous
déterminons la partie de réalisation par l’architecture utilisée ainsi que les interfaces de
l’application.

5.1 Analyse des besoins


Notre application web est capable de prédire le score des clients qui veulent avoir un crédit en se
basant sur des modèles d’apprentissage supervisé sélectionné dans le chapitre précédent. Pour
cela, il est nécessaire d'identifier les acteurs, les besoins fonctionnelles et non fonctionnelles de
notre application.

5.1.1 Les acteurs

Les acteurs sont des entités externes qui interagissent avec le système. Dans notre cas, nous avons
un seul acteur humain :
• Administrateur : la personne responsable de consulter les informations clients, le tableau
de bord et les scores des clients.

5.1.2 Les besoins fonctionnels et non fonctionnels

Le tableau 5.1 présente les besoins fonctionnels offertes par notre application et les besoins non
fonctionnels.

Tableau 5.1 - Les besoins fonctionnels et non fonctionnels

40
Les besoins fonctionnels Les besoins non fonctionnels

Administrateur : • Ergonomie et souplesse :

• S’authentifier. Notre plateforme doit offrir des interfaces


• Gestion des utilisateurs. simples pour la manipulation même par des
• Consulter le tableau de bord. non experts.
• Consulter les scores de prédiction. • Efficacité :

Notre application doit être fonctionnelle et


performante.

• Sécurité :

La plateforme doit être hautement


sécurisée, les informations ne devront pas
être accessibles à tout le monde.

5.1.3 Diagramme de cas d’utilisation

Le diagramme de cas d’utilisation décrit les utilisations d’un système. Les principaux concepts de
ce diagramme sont les acteurs, les cas d’utilisation et les sujets.
La figure 5.1 présente le diagramme de cas d’utilisation général.

Figure 0.1 - Diagramme de cas d’utilisation général

41
5.1.4 Raffinement des cas d’utilisation

Dans cette partie, nous présentons les descriptions textuelles des cas d’utilisation pour mieux
comprendre les besoins.
Le tableau 5.2 présente la description textuelle de cas d’utilisation « S’authentifier ».

Tableau 5.2 - Description textuelle du cas d’utilisation « S’authentifier »

Cas d’utilisation S’authentifier

Acteur Administrateur

Pré condition -

Post condition Administrateur connecté

1. Affichage de la page d’authentification.


Scénario nominal 2. Saisie l’email et le mot de passe.
3. Affichage de la page d’accueil.

Scénario alternatif −

Le tableau 5.2 présente la description textuelle de cas d’utilisation « Consulter les informations
clients ».
Tableau 5.3 - Description textuelle du cas d’utilisation « Consulter les informations clients »

Cas d’utilisation Consulter les informations clients

Acteur Administrateur

Pré condition Administrateur authentifié

Post condition La liste des clients est affichée

Scénario nominal 1. L’acteur choisit « Client ».


2. Le système affiche la liste des clients.

Scénario alternatif L’acteur quitte l’interface.

42
Le tableau 5.3 présente la description textuelle de cas d’utilisation « Consulter le tableau de bord
».

Tableau 5.4 - Description textuelle du cas d’utilisation « Consulter le tableau de bord »

Cas d’utilisation Consulter le tableau de bord

Acteur Administrateur

Pré condition Administrateur authentifié.

Post condition Affichage de tableaux de bord

Scénario nominal 1. L’acteur choisit « Dashboard ».


2. Affichage de l’interface de tableau de bord.

Scénario alternatif L’acteur quitte l’interface.

Le tableau 5.4 présente la description textuelle de cas d’utilisation « Prédiction d’une demande de
crédit ».
Tableau 5.5 - Description textuelle du cas d’utilisation « Prédiction d’une demande de
crédit »

Cas d’utilisation Prédiction d’une demande de crédit

Acteur Administrateur

Pré condition Administrateur authentifié.

Post condition Affichage de formulaire

1. L’acteur choisit « Prédiction ».


2. Affichage de formulaire.
Scénario nominal
3. L'administrateur remplit les champs nécessaires.
4. Affichage du résultat de prédiction.

Scénario alternatif L’acteur quitte l’interface.

43
5.2 Analyse
Le diagramme de séquence système montre les différentes interactions entre l’acteur et le
système.
La figure 5.2 présente le diagramme de séquence système relatif à l’authentification (SignUp).

Figure 0.2 – Diagramme de séquence système relatif à l’authentification (SignUp)

44
La figure 5.3 présente le diagramme de séquence système relatif à l’authentification (SignIn).

Figure 0.3 – Diagramme de séquence système relatif à l’authentification (SignIp)

45
La figure 5.4 présente le diagramme de séquence système relatif à la prédiction d'une demande de
crédit.

Figure 0.4 – Diagramme de séquence système relatif à la prédiction d’une demande de


crédit.

46
La figure 5.5 présente le diagramme de séquence système relatif à la consultation du tableau de
bord.

Figure 0.5 – Diagramme de séquence système relatif à la consultation du tableau de bord

47
La figure 5.6 présente le diagramme de séquence système relatif à la consultation des
informations clients.

Figure 0.6 – Diagramme de séquence système relatif à la consultation des informations clients

5.3 Conception
5.3.1 Diagramme de classe

Dans cette section, nous présentons le diagramme de classe de notre application illustrée par la
figure 5.7.

48
Figure 0.7 – Diagramme de classe

5.4 Réalisation
5.4.1 Enregistrer le modèle

Après l’évaluation et le choix du modèle le plus performant, nous avons l'enregistré pour
l’utiliser dans la classification à l’aide de la fonction dump() du module pickle.

49
5.4.2 Les interfaces de l’application

La figure 5.8 présente l’interface de connexion de l’administrateur (Singup).

Figure 0.8 – Interface d’authentification (SignUp)

La figure 5.9 présente l’interface de connexion de l’administrateur (SingIn).

Figure 5.9 – Interface d’authentification (SignIn)

50
L’administrateur est l’acteur responsable de l’application du côté de la banque ou l’institut
financier. Dans l’interface de SignUp, l’administrateur doit en premier lieu saisir son nom, son
prénom, son mail et son mot de passe.
En deuxième lieu, l’administrateur dans l’interface de SignIn saisit son mail et son mot de passe
pour accéder à son espace personnel.
La figure 5.9 présente l’interface de consultation des informations clients.

Figure 0.10 – Interface d'affichage les informations clients


La figure 5.10 présente l’interface d’affichage des informations clients. L’administrateur peut
consulter les attributs des clients enregistrés dans la base de données.

51
La figure 5.11 présente le tableau de bord.

Figure 0.11 – Interface de tableau de bord

Dans cette interface, l’administrateur peut consulter le tableau de bord pour visualiser les
résultats de prédictions et les statuts de crédits des clients. Cette interface affiche plusieurs
graphiques à barres. Nous avons les attributs implémentés dans ce tableaux de bord : Gender,
Married, Education, Property Area, Dependents,Self Employed, Credit History, Applicant
Income, Coapplicant Income et Loan Status. Le premier graphe montre le nombre des demandes
de crédit accepté et refusé par rapport le sexe de client. Le deuxième graphe montre le nombre
des demandes de crédit acceptée et refusée par rapport le niveau d’éducation de client. Ce tableau
de bord peut aider les décideurs dans la prise des décisions.

52
La figure 5.12 présente l’interface de prédiction d'une demande de crédit.

Figure 5.12 – Interface de prédiction d’une demande de crédit

L’administrateur peut ajouter une demande de crédit. L’interface est affichée sous forme d’un
forum qui contient les informations nécessaires ainsi que le résultat de la prédiction. Pour prédire
une demande de crédit l’administrateur sélectionne les informations clients dans le forum.

Conclusion
Dans ce dernier chapitre, nous avons commencé par l’analyse des besoins. Nous avons déterminé
les acteurs, les besoins fonctionnels et non fonctionnels, le diagramme de cas d’utilisation suivi
des descriptions textuelles. Ensuite, nous avons déterminé la conception au cours de laquelle nous
avons présenté le diagramme de classe. Nous avons terminé par la partie réalisation dans laquelle
nous avons présenté les interfaces de l’application.

53
Conclusion

Ce rapport est réalisé dans le cadre de notre projet de fin d’études au sein de l’entreprise BFI
Groupe pour une durée de trois mois pour l’obtention du diplôme de Licence en Business
Computing en Business Intelligence à l’École supérieure d’Économie Numérique de la Manouba.
Dans ce projet, nous avons mis en place une application qui permet de prédire des demandes de
crédit en se basant sur un processus automatisé. Ce projet a pour objectif d’aider les décideurs de
banque ou des instituts financiers de faire des analyses en temps réel afin d’accepter ou refuser la
demande de crédit pour les clients.
Tout au long de notre travail, nous avons rencontré plusieurs défis à relever tel que la contrainte
du temps, la disponibilité des données ainsi que les problèmes techniques.
Finalement, ce stage a été très enrichissant et bénéfique pour nous. Il nous a permis d’enrichir nos
connaissances en découvrant de nouvelles méthodologies et technologies de travail.

54
Webographie

[1] http://www.bfigroupe.com/. Consulter le 20/02/2022.

[2] https://www.researchgate.net/figure/Phase-du-processus-dECD-selon-le-modele-CRISP-
DM_fig1_278815965 Consulter le 22/02/2022.

[3] https://fr.wikipedia.org/wiki/Anaconda_(distribution_Python) Consulter le 25/02/2022.

[4] https://jupyter.org/ Consulter le 25/02/2022.

[5] https://drawio-app.com/portfolio_skills/logo-design/ Consulter le 10/03/2022.

[6] https://www.data-bird.co/python/langage-python Consulter le 25/02/2022.

[7] https://fr.wikipedia.org/wiki/NumPy Consulter le 25/02/2022.

[8] https://pandas.pydata.org/ Consulter le 25/02/2022.

[9] https://matplotlib.org/ Consulter le 25/02/2022.

[10] https://seaborn.pydata.org/ Consulter le 25/02/2022.

[11] https://scikit-learn.org/stable/ Consulter le 25/02/2022.

[12] https://code.visualstudio.com/ Consulter le 01/03/2022.

[13] https://www.mongodb.com/ Consulter le 20/04/2022.

[14] https://fr.reactjs.org/ Consulter le 20/04/2022.

[15] https://nodejs.org/en/ Consulter le 20/04/2022.

[16] https://expressjs.com/fr/ Consulter le 20/04/2022.

[17] https://icon-icons.com/icon/pocoo-flask-logo/168045 Consulter le 25/04/2022

[18] https://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascade Consulter le 22/04/2022.

[19] https://devstory.net/11695/introduction-a-bootstrap Consulter le 22/04/2022.

[20] https://www.jeveuxetredatascientist.fr/les-differents-cours-pouvant-etre-suivis-durant-une-
formation-power-bi/ Consulter le 01/03/2022.

55
[21] https://fr.wikipedia.org/wiki/Risque_bancaire Consulter le 27/02/2022.

[22] https://www.culturebanque.com/banques/les-differents-types-de-risques-des-banques/ Consulter


le 27/02/2022.

[23] https://www.lebigdata.fr/data-science-
definition#:~:text=La%20Data%20Science%20est%20la,les%20probl%C3%A8mes%20de%20l'entre
prise Consulter le 02/03/2022.

[24] https://www.zdnet.fr/blogs/green-si/data-et-si-on-abandonnait-tous-excel-39882111.htm
Consulter le 02/03/2022.

[25] https://www.astera.com/fr/type/blog/structured-semi-structured-and-unstructured-data/ Consulter


le 03/03/2022.

[26] https://www.pdfdrive.com/introducing-data-science-big-data-machine-learning-and-more-using-
python-tools-d167378730.html Consulter le 03/03/2022.

[27] https://fr.wikipedia.org/wiki/Science_des_donn%C3%A9es Consulter le 04/03/2022.

[28] https://www.javatpoint.com/machine-learning Consulter le 10/04/2022.

[29] https://www.javatpoint.com/supervised-machine-learning Consulter le 10/04/2022.

[30] https://mrmint.fr/regression-lineaire-python-pratique Consulter le 10/04/2022.

[31] https://lucidar.me/fr/neural-networks/single-layer-classification-example/ Consulter le


10/04/2022.

[32] https://www.javatpoint.com/unsupervised-machine-learning Consulter le 11/04/2022.

[33] https://analyticsinsights.io/le-clustering-definition-et-implementations/ Consulter le 11/04/2022.

[34] https://fr.wikipedia.org/wiki/R%C3%A8gle_d'association Consulter le 11/04/2022.

[35] https://larevueia.fr/apprentissage-par-renforcement/ Consulter le 11/04/2022.

[36] https://openclassrooms.com/fr/courses/4297211-evaluez-les-performances-dun-modele-de-
machine-learning/4308256-evaluez-un-algorithme-de-classification-qui-retourne-des-valeurs-binaires
Consulter le 13/04/2022.

[37] https://muthu.co/understanding-the-classification-report-in-sklearn/ Consulter le 13/04/2022.

[38] https://www.javatpoint.com/cross-validation-in-machine-learning Consulter le 13/04/2022.

56
[39] https://machine-learning-tutorial-
abi.readthedocs.io/en/latest/content/overview/crossvalidation.html Consulter le 14/04/2022.

[40] https://www.javatpoint.com/machine-learning-random-forest-algorithm Consulter le 15/04/2022.

[41] https://www.javatpoint.com/logistic-regression-in-machine-learning Consulter le 15/04/2022.

[42] https://www.javatpoint.com/machine-learning-decision-tree-classification-algorithm Consulter le


15/04/2022.

57

Vous aimerez peut-être aussi