Vous êtes sur la page 1sur 60

Projet POLREN

MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

DEDICACE
Nous dédions ce mémoire en témoignage de notre reconnaissance à l’endroit de tous
ceux qui ont contribué de près ou de loin à la réalisation de ce projet et à la rédaction de ce
mémoire.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 1
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

REMERCIEMENTS
Avant tout propos, nous tenons à exprimer notre profonde gratitude à toute personne
qui d’une manière ou d’une autre a contribué à la réalisation du présent document.
Nous adressons nos vifs remerciements au Directeur Général de l’International Data
Science Institute (IDSI), Dr. Lambert TANOH en tant qu’encadrant et toute son équipe
pédagogique dont Dr. Tanon KADJO, Directeur des Études de l’IDSI, Mlle Chantale SORO
pour l’encadrement et la qualité de la formation reçue durant ces deux années de Master.
Nos remerciements vont également à la société Sanlam assurance Côte d’Ivoire dirigé
par M. Roland OUEDRAOGO (Directeur Général). Nous remercions particulièrement M.
Landry ANGOUA, Directeur du pôle actuariat et risques chez SANLAM CI (SACI) pour
nous avoir permis d’effectuer notre stage dans sa direction et en tant que maître de stage. Nous
adressons notre profonde gratitude à l’ensemble du pôle actuariat de SACI et plus
spécifiquement à M. Komla DZIDZINYO, M. Wilfried SANOGO, M. Hendrick TENIN et
M. Julien KONAN pour nous avoir accueilli et créé un environnement chaleureux et favorable
pour le bon déroulement de notre stage et pour nous avoir appris les connaissances métiers.
Nous remercions également nos devanciers de l’IDSI travaillant chez Sanlam Maroc,
en particulier Aurel ATTERE et Arnaud ANOBLE pour leur soutien technique.
Et pour finir, nous présentons notre reconnaissance à notre famille et nos amis qui nous
ont soutenu moralement pendant cette période.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 2
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
SOMMAIRE

DEDICACE ......................................................................................................................................................... 1
REMERCIEMENTS.......................................................................................................................................... 2
SOMMAIRE........................................................................................................................................................ 3
LISTE DES TABLEAUX .................................................................................................................................. 4
LISTE DES FIGURES ...................................................................................................................................... 5
LISTE DES ABBREVIATIONS ET SIGLES ............................................................................................... 6
AVANT-PROPOS.............................................................................................................................................. 7
RESUME ............................................................................................................................................................. 8
ABSTRACT ........................................................................................................................................................ 9
INTRODUCTION GENERALE .................................................................................................................... 10
PARTIE I : ENVIRONNEMENT ET ETUDE PREALABLE DU PROJET ........................................ 11
Chapitre I : PRÉSENTATION DE LA STRUCTURE D’ACCUEIL ................................................ 12
CHAPITRE II : POLITIQUE DE RENOUVELLEMENT ACTUELLE ............................................ 13
Chapitre III : PRÉSENTATION DU PROJET ..................................................................................... 20
PARTIE II : CONNAISSANCES METIERS ET IMPLÉMENTATION DE LA SOLUTION .......... 23
Chapitre IV : GÉNÉRALITÉS CONCERNANT L’ASSURANCE .................................................... 24
Chapitre V : THEORIE CONCERNANT LE DEEP LEARNING .................................................... 27
Chapitre VI : PRESENTATION DES DONNEES ET DE NOTRE PIPELINE ............................ 32
Chapitre VII : APPROCHE MACHINE LEARNING ......................................................................... 42
Chapitre VIII : RESULTATS ET PERSPECTIVES............................................................................ 51
CONCLUSION GENERALE ......................................................................................................................... 56
BIBLIOGRAPHIE & WEBOGRAPHIE ...................................................................................................... 57
TABLE DES MATIERES............................................................................................................................... 58

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 3
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
LISTE DES TABLEAUX
Tableau 1:Planning du projet ................................................................................................... 21
Tableau 4:Dictionnaire des données de la table assuré ............................................................ 33
Tableau 5: Dictionnaire des données de la table branche ........................................................ 33
Tableau 6: Dictionnaire des données de la table intermédiaire ............................................... 34
Tableau 7: Dictionnaire des données de la table sinistre ......................................................... 35
Tableau 8: Dictionnaire des données de la table prime ........................................................... 36
Tableau 9 : Dictionnaire de données final ............................................................................... 46
Tableau 10: Résultats des différents algorithmes .................................................................... 51
Tableau 11: Résultat moyenné ................................................................................................. 52

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 4
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
LISTE DES FIGURES
Figure 1:Organigramme ........................................................................................................... 13
Figure 7: Typologie de contrat ................................................................................................. 16
Figure 8: Système expert ......................................................................................................... 17
Figure 9: Perceptron ................................................................................................................. 27
Figure 10: Réseau de neurones ................................................................................................ 28
Figure 11: Réseau de neurones convolutif ............................................................................... 29
Figure 12:Réseau de neurones récurrents ................................................................................ 30
Figure 14: Répartition des polices par type d'intermédiaire .................................................... 34
Figure 15: Architecture de notre pipeline de données ............................................................. 37
Figure 16:Machine physique VS machine virtualisée ............................................................. 39
Figure 17: Encodage de variable catégorielle .......................................................................... 44
Figure 18: Exemple de groupement cumulé ............................................................................ 44
Figure 19: Proportion de polices à résilier/renouveler ............................................................. 48
Figure 20:Undersampling vs Oversampling ............................................................................ 50
Figure 21:Navigation sur le dashboard et filtres ...................................................................... 53
Figure 22: Statistique sur l'évolution du portefeuille ............................................................... 53
Figure 23: Statistique concernant une année ........................................................................... 54

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 5
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
LISTE DES ABBREVIATIONS ET SIGLES

AI : Artificial Intelligence
API : Application Programming Interface
BD : Base de données
CSV : Comma-Separated Values
CSS : Cascading Style Sheet
DAR : Direction Actuariat et Risque
DB : DataBase
DL : Deep Learning
ENSEA : Ecole Nationale Supérieure de Statistique et d’Economie Appliquée
ERP : Enterprise Ressources Planning
HTML : Hyper Text Markup Language
IA : Intelligence Artificielle
IARD : Incendies, Accidents et Risques Divers
IDSI : International Data Science Institute
INP-HB : Institut National Polytechnique Félix Houphouët-Boigny
KPI : Key Performance Indicator
MAE : Mean Absolute Error
ML : Machine Learning
OS : Operating System
PFE : Projet de Fin d’Etude
PNG : Portable Network Graphics
SACI : SANLAM Assurance Côte d’Ivoire
SE : Système expert
SELU : Scaled Exponential Linear Units
SPA : Single Page App
S/P : Sinistre sur Prime

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 6
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

AVANT-PROPOS

Le présent mémoire s’inscrit dans le cadre du projet de fin d’étude (PFE) de master de
l’International Data Science Institute (IDSI) en data science, big data et intelligence artificielle.
L’international Data Science Institute (IDSI) est un institut co-fondé par l’Institut National
Polytechnique Félix Houphouët-Boigny (INP-HB), l’Ecole Nationale Supérieure de Statistique
et d’Economie Appliquée (ENSEA) d’Abidjan et l’école Polytechnique de Paris (X-Polytech)
dans l’optique de former des ingénieurs dans le domaine de la donnée depuis 2017. Cet institut
est soutenu également par des entreprises reconnues dans leurs différents domaines d’activités
dont le Groupe Orange, par la Société Générale Côte d'Ivoire depuis 2021 mais aussi Sanlam
Pan Africa. A ce jour (2022), l’IDSI est à sa sixième promotion entrante (pour l’année
académique 2022-2023). La création de l’IDSI vise à accélérer la montée en compétences en
data management en Côte d‘Ivoire et en Afrique de l’Ouest. En effet, ce master vise à former
des spécialistes ayant une double compétence en statistique et informatique qui peuvent
directement poursuivre une carrière en gestion de données massives, en ingénierie Big Data,
en Analyse de données, en Machine Learning, en Data architecture, etc. C’est dans ce cadre
qu’un partenariat a été initié par les différentes structures dont nous avons eu à parler dans
l’historique.
L’IDSI exige de ses étudiants un stage au cours duquel ils doivent travailler sur un projet
lié à la data qu’ils présentent dans un mémoire de fin d’étude afin de valider leur diplôme de
fin de cycle. C’est alors, pour eux l’occasion de mettre en avant les compétences acquises de
façon théoriques et pratiques après une année et demi de formation.
C’est dans ce cadre que nous avons effectué notre stage chez Sanlam Assurance Côte
d’Ivoire (SACI) où nous avons eu à mettre en place un modèle permettant d’optimiser le
portefeuille client de SACI. En classant les contrats suivant le fait qu’ils seront résiliés ou pas
dans l’optique de proposer une politique de renouvellement efficiente des contrats et mettre en
place un dashboard permettant de suivre l’évolution du portefeuille client.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 7
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

RESUME

Chaque année, les gestionnaires de portefeuille de Sanlam Assurance Côte d’Ivoire


(SACI) évaluent leurs portefeuilles afin d’en retirer les polices considérées comme mauvaises.
Afin d’apporter une solution à cette problématique persistante, nous avons effectué des travaux
de machine learning durant un stage de six (06) mois.
Et donc la problématique de notre étude consistait à savoir comment le machine learning
pourrait être utilisé dans l’optique d’optimiser le portefeuille client d’une maison d’assurance.
Pour répondre à cette question nous avons subdiviser nos travaux en trois grandes phases :
1. Compréhension du monde l’assurance et de l’existant ;
2. Mise en place d’un pipeline ML pour le traitement des données ;
3. Entraînement de différents modèles afin d’en ressortir le meilleur.
Suite à ces différentes phases, notre solution avait une architecture de données constituée de
trois composants dont les sources Oracle, un Lakehouse (MinIO + Clickhouse) et d’une
composante analyse et visualisation avec Streamlit et Keras. Keras car le suite aux différents
calibrages de modèles, le meilleurs modèles fut un modèle de type LSTM avec cinq couches
dont une couche d’entrée de 44 variables, une couche de fully connected de 100 neurones, une
couche de type LSTM de 150 neurones, une couche fully connected 200 neurones et une couche
de sortie avec pour fonction d’activation sigmoïd. En dehors des réseaux nous avons pu tester
bon nombre de modèles comme le random forest, le boosting ou encore la régression logistique.
Après la mise en place de notre architecture de données et l’obtention du meilleur modèle, nous
avons développé une interface avec Streamlit afin d’avoir des statistiques concernant les
données contenues dans notre data warehouse et évaluer visuellement nos contrats en
portefeuilles.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 8
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

ABSTRACT

Each year, the portfolio managers of Sanlam Assurance Côte d'Ivoire (SACI) evaluate
their portfolios in order to remove policies considered to be bad.
In order to provide a solution to this persistent problem, we carried out machine learning
work during a six (06) month internship.
And so the problem of our study was to know how machine learning could be used with
a view to optimizing the client portfolio of an insurance company.
To answer this question, we have divided our work into three main phases:
1. Understanding of the world of insurance and of the existing;
2. Establishment of an ML pipeline for data processing;
3. Training different models to bring out the best.
Following these different phases, our solution had a data architecture consisting of three
components including Oracle sources, a Lakehouse (MinIO + Clickhouse) and an analysis and
visualization component with Streamlit and Keras. Keras because following the various model
calibrations, the best model was an LSTM type model with five layers including an input layer
of 44 variables, a fully connected layer of 100 neurons, an LSTM type layer of 150 neurons, a
fully connected layer of 200 neurons and an output layer with sigmoid activation function.
Apart from the networks, we were able to test a number of models such as random forest,
boosting or even logistic regression.
After setting up our data architecture and obtaining the best model, we developed an
interface with Streamlit in order to have statistics concerning the data contained in our data
warehouse and visually evaluate our contracts in portfolios.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 9
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
INTRODUCTION GENERALE
L'assurance est un moyen de couverture des pertes financières en cas de survenance
d'un risque. Il y a deux parties impliquées dans l'assurance : un assureur, qui vend des polices
et un assuré qui reçoit les prestations de la police après l'avoir achetée. En échange d'une somme
d'argent appelée prime, l'assureur s'engage à prendre en charge le risque de pertes potentielles
d'une entité assurée. En cas d'incident imprévu, l'assureur est responsable du paiement d'une
réclamation au preneur d'assurance, qui correspond au montant de la prestation due au
bénéficiaire tel que défini dans le contrat de police et dans ce cas, la compagnie d’assurance
tire ce montant de l’ensemble de son portefeuille de prime. Elle se doit donc de bien gérer ce
portefeuille et de ce fait, de bien choisir les contrats qui intègrent son portefeuille ou au pire de
les retirer lorsque ces derniers affectent sa rentabilité à travers une politique de renouvellement.
Cependant cette tâche n’est pas aisée pour les assureurs car il est difficile pour eux de
différencier les contrats à retirer du portefeuille de ceux qu’il faudrait garder. Mais ce problème
pourrait potentiellement être résolu en utilisant des algorithmes de Machine Learning (ML).
En effet, dans le secteur de l'assurance, le Machine Learning (ML) est largement utilisé à
diverses fins, notamment la prévention de la fraude, l'analyse des réclamations, l'analyse
marketing, l'analyse des risques, la prévision des ventes, le développement de produits, le
traitement des souscriptions et bien d’autres encore. Sanlam Côte d’Ivoire qui n'échappe pas à
ce constat, a initié le projet intitulé : “Mise en place d’un pipeline ML pour l’optimisation du
portefeuille client de SANLAM CI”. Ce projet qui nous a été confié, soulève le problème
suivant : Comment le Machine Learning pourrait être utilisé dans l’optique d’établir une
politique de renouvellement ou de résiliation de police d’assurance efficace ? Il s’agira pour
nous de faire ressortir par le biais du Machine Learning les contrats qui seront coûteux pour le
portefeuille de Sanlam pour qu’il puisse les retirer ou les réévaluer.
Afin de répondre à cette interrogation, notre travail, présenté à travers ce mémoire
s’articulera autour de trois parties qui seront abordées dans l’ordre suivant : nous parlerons du
contexte du projet dans un premier temps à travers la présentation de la structure d’accueil
(SACI) et du projet en lui-même. Nous poursuivrons avec l’évocation de certains aspects
métiers de l’assurance et nous finirons avec la méthodologie de résolution de notre problème
en présentant le processus de construction du modèle de données utilisé pour nos algorithmes.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 10
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

PARTIE I : ENVIRONNEMENT ET ETUDE


PREALABLE DU PROJET

Dans cette partie nous présenterons l’entreprise dans laquelle nous avons effectué le
stage et le projet sur lequel nous avons travaillé.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 11
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre I : PRÉSENTATION DE LA STRUCTURE
D’ACCUEIL
Dans ce chapitre nous présentons notre structure d’accueil qu’est Sanlam Côte d’Ivoire
à travers ses activités et notre département d’accueil.

I-PRÉSENTATION DE SACI
Sanlam Côte d’Ivoire (ex SAHAM Assurance Côte d’Ivoire) est une compagnie
d’assurance de droit ivoirien de plus de 26 ans d’expérience, dotée d’un capital de 5 Milliards
FCFA (7,6 millions d’euros).
Filiale depuis 2018 de Sanlam Pan Africa, leader panafricain de l’assurance, la compagnie
capitalise sur la dimension continentale de son actionnaire de référence pour se positionner en
tant qu’acteur majeur de l’assurance en Côte d’Ivoire et dans la sous-région.
Sanlam Côte d’Ivoire se subdivise en trois grandes directions :
● La Direction Générale qui est l’organe supérieur ;
● La Direction Commerciale qui se charge du développement des produits d’assurance, de
l’aspect marketing et des ventes ;
● La Direction Support vient en renfort technique pour aider les commerciaux à mieux
travailler et surtout guider les ventes de manière stratégique.
Nous avons effectué notre stage à la Direction Actuariat et Risques (DAR) dont nous parlerons
sous peu.

II-PRESENTATIOPN DE LA DIRECTION D’ACCUEIL


La Direction Actuariat et Risque (DAR) a été créée en 2021 afin de résoudre un certain
nombre de problématiques liées à la donnée. Présentement, elle résout les problèmes de :
• Reserving et provisionnement (consistant à mettre en place des modèles actuariels en vue
de déterminer un montant minimal à mettre de côté pour couvrir les sinistres) ;
• Fourniture de KPIs afin de faciliter la prise de décision ;
• Gestion de données massive et de l’exploitation de ces dernières.
Cette direction est managée par monsieur Landry ANGOUA qui est également notre maître de
stage. Elle se subdivise en trois départements que sont : reserving & solvability, Pricing et
KPIs et Data Officer. Cette direction est sous la coupole de la Direction support de Sanlam
Côte d’Ivoire.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 12
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Figure 1:Organigramme

CHAPITRE II : POLITIQUE DE RENOUVELLEMENT


ACTUELLE
Dans ce chapitre, nous parlons de l’existant concernant la politique de renouvellement
actuelle et des tentatives d’optimisation à l’aide du Machine Learning effectuées avant nos
travaux.

I-POLITIQUE DE RENOUVELLEMENT
La politique de renouvellement dans le domaine de l’assurance, désigne un ensemble de
règles que les gestionnaires de portefeuille suivent afin d’effectuer certaines actions sur une
police. De façon générale, une politique de renouvellement permettra d’aboutir à ces trois
actions :

• Renouvellement en l’état : Il s’agit du renouvellement du contrat en reconduisant la prime


et les garanties sans modification.
• Révision du contrat : La révision de contrat consiste à revoir certains termes de ce dernier
en agissant soit sur les garanties (à travers la revue des garanties les plus sinistrées et les
franchises du contrat), soit en majorant la prime de sorte à supporter les éventuels sinistres
qui surviendront jusqu’à la prochaine échéance.
• Résiliation : Il s’agit de mettre un terme au contrat.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 13
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
II-SYSTÈME EXPERT

II-1-Présentation de l’existant métier


Il est à noter qu’il existe une politique de renouvellement basée sur un système expert
(SE) que nos modèles de Machine Learning sont censés battre pour l’optimisation du
portefeuille. Ce système expert (SE) est basé sur des connaissances métier et des techniques
actuarielles. En effet, il est conçu pour simuler le savoir-faire des spécialistes de l’assurance
combiné à des statistiques. Il résulte donc d’expériences métier associées à la déduction de
seuils basés sur l’observation de quartiles. Cette manière d’établir une politique présente
certains avantages notamment :

- L’explicabilité : Il peut clarifier les raisons pour lesquelles la conclusion a été tirée et
pourquoi il considère un choix comme étant le plus logique parmi d'autres alternatives [4] ;
- La facilité à l’adapter à de nouvelles conditions : Contrairement aux humains qui ont
souvent du mal à s'adapter à de nouveaux environnements, un système expert a une grande
capacité d'adaptation et peut répondre à de nouvelles exigences en peu de temps. Il peut
également capturer de nouvelles connaissances d'un expert et les utiliser comme règles
d'inférence pour résoudre de nouveaux problèmes ;
- L’amélioration de la qualité de la prise de décision ;
- La rentabilité par la réduction des frais de consultation d’experts humains.

Toutefois cette façon de procéder présente des inconvénients :


- Coût élevé de mise en œuvre. En effet la mise en œuvre d'un système expert en entreprise
sera un fardeau financier pour les petites organisations car elle a des coûts de
développement élevés ainsi que les coûts récurrents ultérieurs pour mettre à niveau le
système pour s'adapter à un nouvel environnement ;
- Difficulté à créer des règles d’inférence : Les experts du domaine ne pourront pas toujours
expliquer leur logique et leur raisonnement nécessaires au processus d'ingénierie des
connaissances. Par conséquent, la tâche de codification des connaissances est très
complexe ;
- Il n'est pas exempt d'erreurs. Des erreurs de traitement peuvent survenir en raison de
certaines erreurs logiques commises dans la base de connaissances, qui fourniront alors les
mauvaises solutions ;
- Impossibilité de prise de bonnes décisions en situations extraordinaires ;

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 14
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
- Coût élevé d’entretien.

II-2-Fonctionnement du système expert


Comme nous l’avons précisé, le SE fait appel à des connaissances métiers. Il serait donc
opportun de présenter les éléments que ce dernier utilise pour sa classification de polices à
résilier ou à préserver en portefeuille.

A - Variables générées

Il s’agit de variables résultant de la combinaison d’autres variables, nous avons plusieurs


dont : le type de risque d’un contrat, l’exposition, le S/P et la fréquence de sinistre.

- Type de risque

Il en existe trois types qui sont : les risques individuels, les risques collectifs et les gros
risques. Nous parlons de risque collectif lorsque le contrat en question est souscrit par une
personne morale et couvre plusieurs unités de risques (personnes, logements, véhicules…). Ils
permettent une mutualisation entre les risques couverts par la police. De façon technique, si
l’une des trois conditions(ci-dessous) est respectée, le contrat est considéré comme un risque
collectif :

● Il appartient à la catégorie « Flotte automobile » ;


● Il est de la branche « Santé » et que sa prime moyenne est supérieure à 4 000 000 FCFA ;
● Il est de la branche « Individuelle accidents » et que la prime moyenne est supérieure à 200
000 FCFA.

Les polices sont de types gros risques s’il s’agit de contrats dont les risques sont très élevés
tout comme la prime versée. De façon concrète, nous dirons qu’un contrat est de type « gros
risque » lorsque l’une des conditions ci-dessous est respectée :

● Le contrat appartient à la branche « Incendie » ou « Autres dommages aux biens » et la


prime moyenne versée est supérieure à 500 000 FCFA ;
● Le contrat appartient à l’une des branches suivantes : « Risques techniques », les branches
transports notamment « facultés terrestres », « Facultés aériennes », « Facultés maritimes
» et « Corps » ;
● Le contrat est de la branche « Responsabilité civile générale » et sa prime moyenne est
supérieure à 2 000 000 FCFA.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 15
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Un contrat sera de type individuel lorsque celui-ci est souscrit par une personne physique pour
son propre compte. Il peut être défini comme étant un risque où le coût d’un sinistre en cas de
survenance est supérieur à la prime payée. Pour qu’un contrat soit considéré comme un risque
individuel, il suffit qu’il ne soit pas un risque collectif et un gros risque.

Schématiquement parlant, nous avons :

Figure 2: Typologie de contrat

- S/P

Le S/P d’un contrat se définit comme le rapport de la charge sinistre (coût des sinistres)
d’un contrat sur la prime versée par l’assuré du dit contrat. Le « S » désigne Sinistre et le « P »,
la prime. Et plus cette ce ratio est élevé, plus on considéra la police comme problématique.

- La fréquence des sinistres

Il s’agit du rapport de la quantité de sinistres par l’exposition. Plus il est élevé, plus on
considéra le contrat comme étant problématique vu que cela signera que le contrat a des
sinistres assez répétés sur la période d’observation.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 16
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
B - Système expert

En usant des variables métiers présentées ci-dessus, le système expert décide si un contrat
doit être gardé en portefeuille ou pas. De façon pratique un contrat est résilié lorsque :

● Il est de type « risque individuel » et que sa fréquence est supérieure ou égale à 1,5 ;
● Il est de type « gros risque », sa fréquence est supérieure ou égale à 1,5 et son S/P est
supérieur à 0,9 ;
● Il est de type « risque collectif » et que son s/p est supérieur à 0,9.

Dans le cas contraire, la police sera gardée en portefeuille. Schématiquement, nous obtenons :

Figure 3: Système expert

III-TENTATIVE D’OPTIMISATION A L’AIDE DU MACHINE LEARNING

III-1-Resumé de la tentative précédente


Nos travaux sont la seconde tentative de résolution de la problématique d’optimisation
du portefeuille client chez Sanlam à l’aide du Machine Learning. En effet d’autres travaux
avaient été entrepris dans ce sens mais les résultats obtenus étaient satisfaisants lorsqu’on
comparait ces derniers aux résultats normaux de SACI sans méthodes d’optimisation du
portefeuille. Cependant lorsque la comparaison était faite avec le système expert, les résultats
n’étaient pas assez satisfaisants au point de laisser le système expert au profit du Machine
learning.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 17
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
III-2-Modèles utilisés lors de la tentative précédente
Bon nombre de modèles ont été utilisé afin d’atteindre l’objectif, à savoir : la régression
logistique, les régressions pénalisées, le random forest et le boosting.

• Régression logistique ou le modèle Logit : c’est un modèle qui permet de modéliser l’effet
d’un vecteur de données (variable) sur une variable généralement binomiale. C’est-à-dire
une variable ne pouvant avoir que deux états, vrai ou faux ; d’où le nom logistique.
• Régression Ridge, Lasso, Elasticnet : Ces régressions sont toutes des régressions pénalisées
ou sous contrainte. Elles imposent une contrainte supplémentaire contrairement à la
régression linéaire vu que parfois les variables sont corrélées. La régression Ridge ajoute
une contrainte sur les coefficients pour maitriser leur amplitude. La régression Lasso est
plus contraignante que la précédente car elle va jusqu’à annuler certains coefficients. Le
modèle Elasticnet est un mix du Lasso et du Ridge dans l’optique de conserver leurs
avantages respectifs dans un même modèle.
• Random Forest : c’est un ensemble d’arbres de décision dont les variables et les individus
sont choisis de manière aléatoire dans le jeu de données initial. Et au final, l’on agrège
l’ensemble les prédictions effectuées par les arbres de notre forêt. Mais qu'est-ce qu'un
arbre de décision ? Visuellement, cela ressemble à une structure descendante composée de
nœuds et chaque nœud possède une condition qui amène à plusieurs réponses, ce qui dirige
à un prochain nœud [1].
• Boosting : C’est une méthode d’apprentissage qui permet d’agréger plusieurs classifieurs
faibles. A chaque itération, on se focalise sur les individus mal classés à l’étape précédente
[1].

III-3-Potentiels problèmes avec la méthode précédente


Après la prise en main des travaux de Machine Learning, nous avions pu relever bon
nombre de problèmes avec cette dernière. En effet :

1. Le modèle de données utilisé pour l’apprentissage n’était pas fixe. Suivant le nombre
d’années qu’une police avait effectué en portefeuille nous avions plus ou moins un nombre
variable de colonnes et un modèle ML par dataset. Si nous avions une dizaine de variables,
les contrats ayant une année en portefeuille seraient dans un dataset de dix variables ; les
contrats ayant deux ans seraient dans un dataset de 20 colonnes dont les dix premières

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 18
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
prenaient en compte les données de la première année et les dernières celles de la seconde
année. Et donc plus un contrat avait d’années en portefeuille plus il avait de variables.
Avec cette façon de procéder, il y avait un peu trop de modèle pour cette problématique et
la dimension temporel n’était pas vraiment prise en compte.
2. Les valeurs aberrantes n’avaient pas été retiré des jeux de données. En effet, pour les
données antérieures à 2010, les processus de stockage n’étaient pas totalement respectés ce
qui entraîne bon nombre d’incohérence au niveau des données de cette période telle que
des primes négatives ou des coûts de sinistre négatifs.
3. Les variables catégorielles n’avaient pas été prise en compte pour l’entraînement des
modèles en eux même, juste pour la labélisation.
4. Pour la labellisation des données, c’est le système expert qui avait été utilisé, cela limitait
tous les modèles car ils avaient tendance à tendre vers ce dernier.

Pour toutes ces raisons, la méthode d’optimisation en utilisant du Machine Learning n’avait
pas été un franc-succès.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 19
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre III : PRÉSENTATION DU PROJET
Dans ce chapitre, nous parlerons de l’objectif du projet et nous présenterons le cahier
des charges.

I-OBJECTIF PRINCIPAL
Ce projet a pour objectif de mettre en place un pipeline de Machine Learning afin de
résilier ou renouveler des polices d’assurance pour le portefeuille client de Sanlam Assurance
Côte d’Ivoire (SACI). Il devait être implémenté sur une période maximale de 6 mois. En
d’autres termes, il s'agira de développer des outils dans l’optique d'automatiser le flux de travail
(extraction, transformation et chargement des données puis l'entraînement de modèles)
nécessaire pour produire un modèle d'apprentissage automatique et une application pour
l’usage du modèle obtenu. Au final, il s’agira de savoir si un contrat doit être gardé en
portefeuille ou retiré afin d'accroître les résultats de SACI.

II-OBJECTIFS SPECIFIQUES
L’objectif principal de ce projet se subdivise en différents objectifs spécifiques :

● Etablir une architecture de nettoyage et de stockage des données pour des analyses ;
● Ajouter à cette architecture d'autres fonctionnalités de traitements des données de sorte à
ce qu'elles soient prêtes pour la création de modèles de Machine Learning ;
● Entraîner des modèles de ML qui pourront surpasser le système expert de SACI ;
● Industrialiser les processus précédents ;
● Développer une application qui permettra présentera l’évolution du portefeuille de SACI
via un tableau de bord pour des analyses.

III-ENJEUX DU PROJET
Ce projet permettra en premier lieu à SACI de maintenir sa position de leader sur le
marché de l’assurance en retirant les contrats qui détériorent son portefeuille ou de les revoir
afin de les rendre meilleurs. Dans un second temps, l’argent gagné par SACI pourra être
réinjecté dans d’autres projets surtout dans le domaine de la donnée afin d’accroître encore plus
ses actifs et sa position de leader.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 20
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
IV-AGENDA DU PROJET
Pour un projet de data-science, tout comme pour n’importe quel projet, la planification
des activités est une nécessité. Cette organisation doit présenter un minimum d’élément tel que
la durée, la tâche à effectuer et le livrable des différentes tâches. Dans notre cas nous avons
divisé notre projet en dix étapes allant de la compréhension du sujet au déploiement d’une
application en passant par la collecte, les prétraitements des données et la modélisation. Tout
ceci s’est fait sur une période de 18 semaines allant de juin à septembre. Le tableau ci-dessous
présente dans les détails notre organisation.

Tableau 1:Planning du projet

Etapes Livrables Durée

Recherche/reprise des Fournir un rapport de notre compréhension du sujet


1 semaine
travaux et environnement et reproduire l'existant suivant cette compréhension

Proposition d'un pipeline Avoir une architecture de traitement des données de


de traitement et modèle de façon schématique et un rapport donnant les raisons 1 semaine
donnée du choix de chaque outils

Nettoyage et harmonisation
Obtenir des données prêtes pour des analyses 3 semaines
des données

Analyse univariée et
Avoir des statistiques concernant nos données 2 semaines
bivariée

Faire des traitements de bases pour les modèles de


Mise en place du pipeline
machine learning afin d'en sortir des données prêtes 2 semaines
d'entrainement des modèles
pour l'entraînement

Faire ressortir le modèle ayant les meilleurs


Entrainement des modèles 4 semaines
performances
Politique de Rapport présentant la marche à suivre pour le
2 semaines
renouvellement renouvellement de polices
Mise en place d'une api Une api permettant d'interroger les bases et de faire
1 semaine
d'interrogation du modèle appel aux modèles
Une application permettant de suivre l'évolution
Dashboard de suivie 1 semaine
d'une police

Mettre à la disposition des Business unit


Déploiement 1 semaine
l'application

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 21
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

Dans cette première partie nous avons présenté la structure d’accueil de notre stage par
son activité et notre département d’accueil. Puis nous avons exposé notre projet à travers
l’existant, l’objectif principal, les objectifs spécifiques et les enjeux de ce dernier. Dans la
seconde partie nous évoquerons différents aspects nécessaires à la bonne compréhension de
nos travaux.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 22
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

PARTIE II : CONNAISSANCES METIERS ET


IMPLÉMENTATION DE LA SOLUTION

Dans cette partie nous évoquerons certaines notions en assurance nécessaires à la


compréhension de nos travaux et nous parlerons de nos données, de notre pipeline, des outils
utilisés pour sa mise en place, des traitements effectués sur nos données et nos modèles de
machine learning.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 23
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre IV : GÉNÉRALITÉS CONCERNANT L’ASSURANCE
Dans ce chapitre nous présenterons certains éléments concernant le domaine de
l’assurance afin de faciliter la compréhension de nos travaux.

I-DÉFINITIONS DES CONCEPTS CLEFS LIES A L’ASSURANCE

I-1-Compagnie d’assurance
L’assurance est un service fournissant une prestation lors de la survenance d'un
événement incertain et aléatoire appelé « risque ». Cette prestation, généralement financière
(appelée prime), peut être destinée à un individu, une association ou une entreprise, en échange
d’une somme d’argent. Ce service est assuré par des entreprises qui répondent à la
dénomination de “maison d’assurance” ou “compagnie d’assurance”. Il existe deux grands
types de compagnies d’assurance : les compagnies d’assurance vie et celles d’assurance non-
vie (ou encore assurance IARD pour Incendies, Accidents et Risques Divers). [3]

Bon nombre de différences existe entre ces deux. En effet, en non-vie, le


fonctionnement se fait par répartition contrairement en assurance vie où le fonctionnement se
fait par capitalisation. En d’autres termes, nous pouvons dire qu’en assurance non-vie les
primes collectées sont utilisées pour couvrir les sinistres de l’ensemble du portefeuille
(répartition) tandis qu’en assurance vie les primes sont placées sur des instruments financiers
qui rapportent des intérêts. La seconde différence entre ces deux types de compagnies se situe
au niveau du fait qu’en non-vie on part d’un principe indemnitaire et en vie on parle de principe
forfaitaire. En d’autres termes, en assurance non-vie, la prestation versée ne permet pas à
l’assuré de s’enrichir. En effet, à la survenance d’un sinistre, seul la somme du coût du sinistre
sera versée à l’assuré afin de l'indemniser. Pourtant en assurance vie, suivant le contrat, une
certaine somme sera versée à l’assuré (somme qui est généralement supérieure à la prime versée
vu qu’il s’agit d’intérêt). Une autre différence se situe d’un point de vue temporel. En assurance
vie, les contrats sont assez longs contrairement en non-vie où les contrats sont de courtes
durées.

Il est à noter que nos travaux concernent uniquement l’assurance non-vie.

I-2-Les intermédiaires en assurance


Dans le domaine de l’assurance, il y a énormément d’intermédiaires et d’apporteurs
d'affaires. Et donc un contrat d’assurance peut provenir d’un intermédiaire. Ce dernier étant

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 24
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
certes celui qui collecte les primes auprès de l’assuré mais n’est pas celui qui couvre le risque
assuré mais la compagnie d’assurance qui est la seule à posséder l’agrément de pratiquer cette
activité. Les parties au contrat d’assurance non-vie sont : l’assureur, le souscripteur, le
bénéficiaire et l’élément ou la personne sur laquelle porte l’assurance.

Le premier type d’intermédiaire est la maison d’assurance elle-même à travers ses


bureaux directs. Ces derniers sont des commerciaux propres à une maison d'assurance et
salariés de celle-ci. Un autre type d’intermédiaire est l’agent général. Les agents généraux
désignent des organisations empruntant l’image d’une maison d’assurance afin de vendre les
produits de cette dernière. Ils sont exclusivement liés à la maison d'assurance et sont chargés
de défendre les intérêts de cette dernière. Comme intermédiaire nous avons également les
agents mandataires qui sont des personnes physiques non salariées ou des personnes morales,
autre qu’un agent général d’assurances. Ils ont la même mission qu’un agent général sauf qu’ils
peuvent ne pas y avoir de lien d’exclusivité contractuelle entre les agents et la maison
d’assurance. Le dernier grand type d’intermédiaire est le courtier. Il a le statut de commerçant.
C’est une personne physique ou morale non liée par une exclusivité contractuelle à une ou
plusieurs compagnies d’assurance. Il agit pour le compte de ses clients et, en cas de faute, il
engage en principe sa responsabilité professionnelle. Pour vendre des contrats d’assurance, le
courtier a l’obligation de souscrire une assurance de responsabilité civile professionnelle et de
justifier d’une garantie financière auprès d’une banque ou d’une entreprise d’assurance.

I-3-Exposition, Prime moyenne, Coût moyen,


- Exposition

L’exposition d’un contrat se définit comme le rapport de la durée de celui-ci sur la durée
de notre période d’observation (en jour, mois ou année). Prenons un cas pratique afin de
faciliter la compréhension de cette variable métier. Supposons qu’une police ait pour date
d’effet (date à laquelle le contrat prend effet) le 01 janvier 2015 et une date d’échéance (date à
laquelle le contrat prend fin) le 31 décembre 2015, soit une durée d’une année dans le
portefeuille. Si nous voulons effectuer une analyse allant de 2014 à 2016 (deux années),
l’exposition de notre contrat sera : ½. Si l’analyse part de 2010 à 2020, ce sera 1/10.

𝑓𝑖𝑛_𝑐𝑜𝑛𝑡𝑟𝑎𝑡 − 𝑑𝑒𝑏𝑢𝑡_𝑐𝑜𝑛𝑡𝑟𝑎𝑡
𝑒𝑥𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 =
𝑝é𝑟𝑖𝑜𝑑𝑒_𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 25
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
- Prime moyenne

Il s’agit du rapport de la prime versée par l’assuré au cours de la période d’observation sur
l'exposition.

𝑝𝑟𝑖𝑚𝑒
𝑝𝑟𝑖𝑚𝑒 𝑚𝑜𝑦𝑒𝑛𝑛𝑒 =
𝑒𝑥𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛

- Coût moyen

C’est la moyenne de la charge sinistre par rapport au nombre de sinistre.

𝑐ℎ𝑎𝑟𝑔𝑒_𝑠𝑖𝑛𝑖𝑠𝑡𝑟𝑒
𝑐𝑜û𝑡 𝑚𝑜𝑦𝑒𝑛 =
𝑛𝑜𝑚𝑏𝑟𝑒_𝑠𝑖𝑛𝑖𝑠𝑡𝑟𝑒

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 26
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre V : THEORIE CONCERNANT LE DEEP LEARNING
Pour ce chapitre, nous mettrons l’accent sur le Deep Learning. L’apprentissage en
profondeur (en anglais Deep Learning) est un sous-domaine du Machine Learning
(apprentissage automatique) traitant d'algorithmes inspirés de la structure et du fonctionnement
du cerveau appelé réseaux de neurones artificiels. En d'autres termes, il reflète le
fonctionnement de notre cerveau. Les algorithmes d'apprentissage en profondeur sont
similaires à la structure du système nerveux où chaque neurone se connecte et transmet des
informations. Parlons à présent de sa structure et des différents types de réseaux de neurones.

I-RESEAU DE NEURONES ARTIFICIEL


A ce niveau, nous verrons la composition d’un réseau de neurones à travers son élément
constitutif le plus bas jusqu’au plus haut.

I-1-Neurone formel
En Deep Learning, un neurone formel est une fonction mathématique qui modélise le
fonctionnement d'un neurone biologique. Dans la littérature, nous rencontrons des
dénominations comme perceptron, neurone artificiel, qui désignent le neurone formel [5]. Ce
dernier se modélise de la façon suivante :

• Des entrées qui recueillent les signaux numériques ;


• D’une sortie ou plusieurs sorties qui transportent le signal pour les autres neurones ;
• De paramètres notés généralement W et b qui sont respectivement les poids attribués
aux entrées et le biais associé à l’ensemble des entrées ;
• D’une fonction d’activation qui détermine la valeur numérique du signal de sortie, qui
se base sur les signaux reçus des connexions.

Figure 4: Perceptron

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 27
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Avec le schéma ci-dessus, nous pouvons voir la constitution d’un réseau de neurone et mieux
appréhender son fonctionnement. Lorsque les données X = (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) arrivent à nos
entrées, elles sont multipliées par leur poids W = (𝑤1, 𝑤2 , …, 𝑤𝑛 ) puis sommées avec le biais.
Le résultat de cette somme est ensuite passé à la fonction d’activation σ dont le résultat constitut
notre sortie 𝑦̂. Mathématiquement nous obtenons la formule ci-dessous :

𝑛
𝑦̂ = 𝜎(∑ 𝑤𝑖 . 𝑥𝑖 + 𝑏)
𝑖=0

I-2-Réseau de neurones
Un réseau de neurones est l’association de plusieurs neurones formels. Il est constitué de
différentes couches de nœud (neurone formel), composé d’une couche en entrée, une ou
plusieurs couches cachées (pas obligatoire) et une couche en sortie. Le réseau de neurones est
en quelque sorte la modélisation de notre cerveau.

Figure 5: Réseau de neurones

II-TYPE DE RESEAUX DE NEURONES


Il faudrait noter qu’il existe différent type de réseaux neurones. Différence marquée par
leur architecture et/ou la manière dont le signal se propage dans le réseau (présence ou
absence de récurrence). Ainsi, en fonction du domaine d’application (Vision par ordinateur,
traitement du langage naturel, ...) ou du type de données à traiter (séries temporelles, données
tabulaires, images, données textuelles, ...), un type d’architecture sera privilégié par rapport à
un autre. Ci-dessous, nous décrivons les principales architectures existantes.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 28
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
II-1-Réseau de neurones feed-forward (à propagation avant)
Ce type de réseau est très souvent utilisé comme sortie des autres types de réseaux de
neurones et se distingue par le fait que le signal se propage en son sein de la couche d’entrée
vers la couche de sortie en passant par les potentielles couches cachées. Le signal ne se dirige
que vers l’avant, il n’y a pas de retour.

II-2-Réseau de neurones convolutif


Plus connu sous la dénomination de CNN pour Convolutional Neuronal Network, il est
très souvent utilisé pour l’extraction de caractéristiques dans les images ou les séries
chronologiques. Le réseau convolutif se divise en deux grandes parties, une partie convolutive
chargée de l’extraction de caractéristiques et une autre partie qui peut être une autre architecture
de réseau de neurone (souvent un réseau de neurones feed-forward). Faisons un zoom sur la
partie convolutive. Cette dernière est constituée d’un ensemble de type de couche :

• Couche convolutive qui est à l’entrée de la partie convolutive et qui applique une opération
de convolution afin de détecter certains éléments dans les données (par exemple des
contours pour une image) ;
• Couche de Pooling, chargée de réduire la taille des données sortant de la couche
convolutive par des agrégations ;
• Couche de correction ReLU qui remplace toutes les valeurs négatives reçues en entrées par
des zéros.

Figure 6: Réseau de neurones convolutif

II-3-Réseau de neurones récurrent


Un réseau neuronal récurrent (RNN) est un type de réseau neuronal artificiel qui utilise
des données séquentielles ou des données de séries chronologiques. Ils sont couramment

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 29
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
utilisés pour les problèmes temporels ou séquentiels, tels que la traduction linguistique, le
traitement du langage naturel (NLP), la reconnaissance vocale et le sous-titrage d'images ; ils
sont intégrés dans des applications populaires telles que Siri, la recherche vocale et Google
Translate.

Figure 7:Réseau de neurones récurrents

Il y existe différente variante de RNN, qui sont :

• Réseaux de neurones récurrents bidirectionnels en anglais Bidirectional Recurrent Neural


Networks (BRNN) : les RNN ne peuvent tirer que des entrées précédentes pour faire des
prédictions sur l'état actuel, les RNN bidirectionnels extraient des données futures pour en
améliorer la précision. Prenons la phrase "je rentre chez moi", le modèle peut mieux prédire
que le troisième mot de cette phrase est "chez" s'il savait que le dernier mot de la séquence
est "moi".
• Mémoire longue à court terme en anglais Long Short-Term Memory (LSTM) : Il s'agit
d'une architecture RNN populaire, qui a été introduite comme solution au problème du
Vanishing gradient qui se présente comme de la diminution très rapide des valeurs des
gradients pendant la rétropropagation entraînant l’annulation du gradient et l’arrêt de
l’apprentissage. Autrement dit, si l'état précédent qui influence la prédiction actuelle n'est
pas dans un passé récent, le modèle RNN peut ne pas être en mesure de prédire avec
précision l'état actuel. En effet les LSTM ont des "cellules" dans les couches cachées du
réseau neuronal, qui ont trois portes - une porte d'entrée, une porte de sortie et une porte
d'oubli. Ces portes contrôlent le flux d'informations nécessaires pour prédire la sortie dans
le réseau.
• Unités récurrentes fermées en anglais Gated Recurrent Units (GRUs) : Cette variante RNN
est similaire aux LSTM car elle fonctionne également pour résoudre le problème de

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 30
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
mémoire à court terme des modèles RNN. Sa particularité réside dans l’utilisation des
ressources. En effet, les GRU permettent de résoudre les problèmes de vitesse de calcul et
ont une gestion optimale de l’utilisation de la mémoire.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 31
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre VI : PRESENTATION DES DONNEES ET DE
NOTRE PIPELINE
Dans ce chapitre nous parlerons des données que nous avons reçues afin d’atteindre nos
objectifs et leurs sources.

I-SOURCES DE DONNÉES
Nos données proviennent de deux bases de données (BD) Oracle dont les dénominations
sont les suivantes : ORASS_V6 et Actuary. La première base contient les données de
« Milliard » qui est l’application métier de SACI. La majorité des activités de SACI tourne
autour de cette ERP (Enterprise Ressources Planning, qui désigne un progiciel de gestion
intégré). Cette base contient les données brutes de nos travaux. La seconde base de données
(Actuary) contient les résultats de certains traitements effectués par la direction actuarielle et
des analyses. Dans ces différentes bases, les données partent de 1975 à nos jours. Cependant
pour nos travaux nous nous limiterons aux données partant de 2010 à nos jours. En effet avant
2010 les données présentent de logique et de stabilité comme des primes négatives, des contrats
dont le numéro avenant est inexistant, etc.

II-TABLES UTILISÉES
Pour notre travail nous avons reçu différentes tables provenant des deux bases de
données. Nous avons utilisé cinq tables notamment : Prime et Sinistre, qui proviennent de la
base Actuary et les tables Client, Intermédiaire et Branche qui ont pour source ORASS_V6.
Donnons des détails concernant nos différentes tables.

- Assuré

Cette table a pour source ORASS_V6 et contient plus de 700 milles lignes donnant des
informations sur les différents assurés de SACI. Mais dans notre cas nous extrayons juste les
champs donnés dans le tableau ci-suivant :

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 32
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Tableau 2:Dictionnaire des données de la table assuré

CHAMP DESCRIPTION TYPE

codeassu Code unique de l'assuré par Chaîne de caractères


intermédiaire

nom_assu Nom de l'assuré Chaîne de caractères

prenoms_assu Prénoms de l'assuré Chaîne de caractères

- Branche

La table branche donne les différentes branches des contrats d'assurances de Sanlam. Une
branche est un groupe auquel appartient une police et il y en a au total seize (16).

Tableau 3: Dictionnaire des données de la table branche

CHAMP DESCRIPTION TYPE

codebran Code d'une branche (Désigne un type Chaîne de caractères


de contrat, constitué d'un
regroupement de catégorie)

libebran Désignation ou nom de la branche Chaîne de caractères

Voyons à présent la distribution des contrats par branche dans le portefeuille.

L'automobile représente la plus grosse part du portefeuille (86,8%) ce qui s’explique par le fait
que l’assurance automobile est obligatoire. L’automobile est suivie par l’assistance au voyage
avec 7,25% du portefeuille et la branche incendie avec 2,09%. Toutes les autres branches
combinées représentent environ 3,8% du portefeuille. Observons cela à travers le graphique ci-
dessous :

- Intermédiaire

Elle contient l’ensemble des intermédiaires travaillant avec SACI avec leur type et
présentement il y en a plus de 600.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 33
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Tableau 4: Dictionnaire des données de la table intermédiaire

CHAMP DESCRIPTION TYPE

codeinte Numéro unique attribué à chaque Chaîne de caractères


intermédiaire

raisocin Nom de l'intermédiaire Chaîne de caractères

Voyons la répartition des intermédiaires à travers la figure ci-dessous :

Figure 8: Répartition des polices par type d'intermédiaire

A travers ce graphique, nous constatons que la plupart des contrats proviennent des agents
généraux (plus du tiers des polices). Ils sont suivis par les courtiers qui apportent 21,4% des
affaires et en dernière position les intermédiaires de types telcassurance ce qui est tout à fait
normal vu que le genre d’affaires apportées par ce type d’intermédiaire tant à disparaître ;

- Sinistre

Cette table contient les différents sinistres déclarés par les assurés avec les informations telles
que la date de survenance du sinistre, le contrat concerné, et bien d’autres. Voyons cela par le
tableau suivant :

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 34
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Tableau 5: Dictionnaire des données de la table sinistre

CHAMP DESCRIPTION TYPE

exersini Année de survenance du sinistre Chaîne de caractères

numesini Numéro du SINISTRE Chaîne de caractères

codecate Code de la Catégorie Chaîne de caractères

libecat Libellé de la Catégorie de la branche Chaîne de caractères

codegara Code catégorie du sinistre concerné Chaîne de caractères


par le sinistre

coderisq Code du risque concerné par le sinistre Chaîne de caractères

natusini Libellé de la nature du sinistre Chaîne de caractères


(Matériel, corporel, …)

datesurv Date de survenance du sinistre Date

datedecl Date de déclaration du sinistre Date

sinpay Montant payé sur le sinistre au cours Entier


d'un exercice donné

sinpay_ant Montant payé sur le sinistre au cours Entier


des exercices précédents

recenc Montant de recours encaissé sur le Entier


sinistre au cours d'un exercice donné

Solde_paiements Restant à payer sur un sinistre donné Entier

Eval Évaluation totale du dommage subi Entier

Arec Stock de recours à encaisser à une date Entier


d'inventaire

Couts_sinistres Charge sinistre nette de tous recours Entier

• Prime

La table prime contient les primes versées par les assurés de Sanlam, voyons les colonnes
contenues dans cette table via le tableau ci-suivant :

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 35
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Tableau 6: Dictionnaire des données de la table prime

CHAMP DESCRIPTION TYPE

libtypin Regroupement des intermédiaires par Chaîne de caractères


groupe selon leur type.

codecate Code attribué à une catégorie (produit Chaîne de caractères


vendu)

libecate Libellé de la catégorie qui est une sous Chaîne de caractères


branche d'une garantie

numepoli Numéro attribué à chaque contrat par le Chaîne de caractères


système. constituée de chiffres

numeaven Numéro d'acte juridique qui vient modifier Chaîne de caractères


les termes d'un contrat en accord avec les constituée de chiffres
parties (assureur, assuré, voir les
bénéficiaires)

dateeffe Date d'effet du contrat Date

dateeche Date de fin du contrat Date

datecomp Date d'affection de la prime à une période Date


de l'exercice (year, today), date comptable.

primnett Prime nette d'accessoire et de taxe Entier

primnettco Prime cédée par rapport à la coassurance Entier

chifaffa Chiffre d’affaires : dépend de la modalité Entier


de l'apparition (prime versé par l'assuré)

accquit Sorte de taxe Entier

commissi Rémunération versée à l'intermédiaire Entier


calculée sur la base d'un taux défini de
commun accord appliqué à la Prime nette.
Elle est égale à commission apporteur +
commission de gestion

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 36
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
III-DESCRIPTION DE L’ARCHITECTURE DE NOTRE PIPELINE
Pour cette partie, nous mettrons en avant l’architecture établie pour notre pipeline de
données de la phase de collecte à la phase d’analyse. A présent découvrons l’architecture de
notre pipeline de données à travers la figure suivante :

Figure 9: Architecture de notre pipeline de données

Comme vous pouvez le voir notre architecture est constitué de différentes couches dont nos
sources (que nous avons eu à présenter plus haut), d’une couche Data LakeHouse composé de
MinIO et ClickHouse, d’une autre couche Analyse et visualisation pour du dashboarding et du
Machine Learning le tout conteneurisé par Docker et orchestré par Airflow. Découvrons
chacun d’entre eux dans les détails.

III-1-Data Lakehouse : MinIO & ClickHouse


Nous avons choisi de stocker nos données via le paradigme Data LakeHouse afin d’avoir
le meilleur des deux anciens paradigmes (Data Lake et Data Warehouse).

- MinIO

C’est un outil big data permettant de faire du stockage objet comme des csv, Excel, txt, pdf,
PNG, JPEG, etc. Il présente bon nombre d’avantages et d’outils concurrents tels que Ceph qui

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 37
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
ont la même fonctionnalité de stockage objet. Toutefois nous avons choisi MinIO pour
plusieurs raisons, dont :

• La simplicité : tant sur le plan technique qu'opérationnel. Il est assez facile à prendre en
main ;
• La compatibilité avec les cloud privés : vu que nous avons notre propre Data center,
nous optons pour un cloud privé et MinIO est adapté à cet usage ;
• La Migration facile vers des cloud public comme AWS : Dans la mesure où nous
souhaitons effectuer des migrations vers un cloud public, MinIO est compatible avec
AWS et donc la migration sera assez facile à effectuer ;
• D’autres avantages tels que l’immutabilité des objets (objets non modifiables), le
chiffrement des objets, la réplication et son interface de gestion ne font que renforcer
notre choix.

Avec MinIO nous stockerons nos extractions brutes et les résultats d’une partie de nos
traitements. Il nous servira de Data Lake. [6]

- ClickHouse

ClickHouse est une base de données orientée colonne créée spécialement pour le traitement
analytique en ligne des requêtes (OLAP). Contrairement aux autres Systèmes de gestion de
base de données (SGBD) comme Oracle, PostgreSQL, MySQL, … Il a été créé spécifiquement
dans l’optique d’effectuer des analyses en ligne. Les raisons pour lesquelles nous avons choisi
ClickHouse sont les suivantes :

• Sa rapidité à charger les données en son sein ;


• Sa facilité de prise en main avec le langage de requêtage SQL ;
• Sa tolérance de panne : ClickHouse prend en charge la réplication asynchrone multi-
maîtres et peut être déployé sur plusieurs centres de données ;
• Son évolutivité linéaire : Mise à l'échelle à la fois horizontalement et verticalement.

Pour notre cas d’usage, ClickHouse servira de Data Warehouse pour les analyses et
visualisations de données. [7]

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 38
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
III-2-Docker
Nous utilisons Docker pour faire de la virtualisation légère. A travers ces mots vous
devinerez qu’il existe de la virtualisation lourde mais tout d’abord, découvrons ce qu’est la
virtualisation. La virtualisation est le processus d'utilisation d'un logiciel pour créer et exécuter
une version virtuelle d'un système informatique en extrayant une couche du matériel physique.
En termes simples, il s'agit de la méthode permettant de créer une version virtuelle de services
informatiques tels que des ressources de stockage, de mémoire, de serveur, de système
d'exploitation ou de réseau, et de les exécuter sur un seul matériel physique simultanément de
manière isolée. Pour ces ressources virtualisées, c'est comme si elles tournaient sur leur propre
machine dédiée avec un OS ou d'autres programmes distincts du système d'exploitation hôte.

Figure 10:Machine physique VS machine virtualisée

Les raisons pour lesquelles la virtualisation est utilisée sont les suivantes : économies de coûts,
efficacité des ressources, agilité et rapidité, réduction des temps d'arrêt et productivité
améliorée. Comme nous l’avons mentionné, il existe la virtualisation légère et la virtualisation
lourde, parlons de la virtualisation lourde.

La virtualisation lourde consiste à recréer un système complet dans le système hôte, pour qu’il
ait ses propres ressources. L'isolation avec le système hôte est donc totale ; cependant, cela
apporte plusieurs contraintes :

• Une machine virtuelle prend du temps à démarrer ;


• Une machine virtuelle réserve les ressources (CPU/RAM) sur le système hôte.

Cette solution présente aussi de nombreux avantages, notamment :

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 39
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
• Une machine virtuelle est totalement isolée du système hôte ;
• Les ressources attribuées à une machine virtuelle lui sont totalement réservées ;
• Vous pouvez installer différents systèmes d’exploitation (Linux, Windows, etc.).

Mais il arrive très souvent que l'application qu'elle fait tourner ne consomme pas l'ensemble
des ressources disponibles sur la machine virtuelle. Alors est né un nouveau système de
virtualisation plus léger à l’aide des conteneurs.

La virtualisation légère consiste à utiliser un conteneur Linux qui est un processus ou un


ensemble de processus isolés du reste du système, tout en étant légers. Les conteneurs apportent
une isolation importante des processus systèmes ; cependant, les ressources CPU, RAM et
disque sont totalement partagées avec l'ensemble du système. Ils ont pour avantages de :

• Ne réserver que les ressources nécessaires ;


• Démarrer rapidement nos conteneurs ;
• Donner plus d'autonomie à lors du développement.

Et Docker permet de faire de la virtualisation légère, elle nous permet de conteneuriser notre
architecture de données. D’autres outils (LXC, OpenVZ) permettent d’obtenir les mêmes
résultats mais Docker est le plus populaire et il existe assez de tutoriel pour son usage. [8]

III-3-Airflow
Apache Airflow est un puissant outil open source qui nous aide à créer, planifier et
surveiller des flux de travail (tâches). Airbnb a créé Airflow en 2014 pour aider à gérer ses
besoins en traitement de données et est depuis devenu un outil de grande envergure pour les
travailleurs de l'industrie de la data. Il nous permet de définir des flux de travail sous forme de
graphes acycliques orientés (DAG) de tâches et fournit un ensemble complet d'opérateurs pour
effectuer ces tâches. Dans Airflow, une tâche se modélise par un bout de code python qui
génère une action (c’est d’ailleurs la raison principale pour laquelle nous l’avons choisi en
dehors du fait qu’il est l’un des orchestrateurs les plus populaires.). Ce bout de code se nomme
Operateur (Operator en anglais) [2]. Il y en a de trois types :

• Opérateurs d’actions : Ils permettent d’effectuer de petites tâches telles que la création de
fichiers, la suppression, le lancement de code shell, python, etc ;
• Opérateurs de transfert : Ils permettent le passage des données d’un SGBD à l’autre ;

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 40
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
• Opérateurs de capture : aussi appelé sensor, ils permettent d’attendre des événements par
exemple le dépôt d’un fichier dans un dossier.

III-4-Analyse et Visualisation
Cette phase concerne l’exploitation des données soit pour des analyses statistiques
(comme nous avons eu à le faire dans le chapitre parlant de nos données) ou des analyses d’un
point de vue Machine Learning et de visualiser les résultats de ces dernières. Parlons de notre
outil d’interrogation de la base de données et de dashboarding.

- Streamlit

Streamlit est un framework d'application open source en langage Python. Cela nous aide
à créer des applications Web pour la science des données et l'apprentissage automatique en peu
de temps. Il est compatible avec les principales bibliothèques Python telles que scikit-learn,
Keras, PyTorch, SymPy (latex), NumPy, pandas, Matplotlib, etc. Avec Streamlit, aucun rappel
n'est nécessaire car les widgets sont traités comme des variables. La mise en cache des données
simplifie et accélère les pipelines de calcul. Streamlit surveille les modifications apportées aux
mises à jour du référentiel Git lié et l'application sera déployée automatiquement dans le lien
partagé.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 41
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre VII : APPROCHE MACHINE LEARNING
Pour ce chapitre, nous nous consacrerons purement à notre méthodologie ML en
mettant en avant les traitements de données effectués, leur labellisation, les algorithmes utilisés
et l’évaluation de ces dernières.

I-TRAITEMENT DES DONNEES


Afin d’obtenir un jeu de données potable pour nos différents algorithmes de Machine
Learning, nous avons effectué des traitements sur ces dernières. En effet un mauvais jeu de
données donnerait inévitablement de mauvaises performances même si l’algorithme est parfait.
Voyez cela comme un enfant qui apprendrait des leçons de science naturelle sachant qu’il a un
devoir de Mathématique, il aura de mauvaise performance à ce devoir. Découvrons à présent
les traitements effectués sur nos différentes tables afin d’avoir un jeu de données potable.

II-1-Valeurs manquantes
Les valeurs manquantes se produisent lorsqu'aucune donnée n'est enregistrée pour une
observation. Les données manquantes sont fréquentes et peuvent avoir un effet significatif sur
l'analyse statistique. Les valeurs manquantes surviennent pour de nombreuses raisons. Par
exemple, un sujet a abandonné l'étude ; un défaut de la machine s'est produit et a empêché la
prise d'une mesure ; un sujet n'a pas répondu à une question dans une enquête ; ou un chercheur
a fait une erreur en enregistrant une observation.
Heureusement pour nous, dans notre cas nous n’avons pas de valeurs manquantes. Cette
étape qui parfois peut être assez fastidieuse a été vite passée.

II-2-Sélection des bons exemples


Pour notre jeu de données, il est important de bien sélectionner les bons individus afin
d’éviter à nos modèles d’apprendre de mauvais exemples.
En effet, dans notre jeu de données nous avons des observations qui ont par exemple des primes
négatives, tout comme des évaluations de sinistre. Bons nombres de valeurs continues se
comportent ainsi pour certaines lignes. Cela peut être dû au fait que certaines lignes résultent
d’une formation à l’usage de l’application métier dénommée Milliard.
Aussi, il est à noter qu’avant 2010 les données stockées ne sont pas très cohérentes. Bien avant
2010, la gestion des données de SACI n’était pas très bien suivie ce qui a induit toutes ces
incohérences avant cette année. Et nous perdrions plus de temps à essayer de les rendre

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 42
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
cohérentes vu qu’elles constituent moins de 15% de nos données et que le résultat de cette
tentative est moins sûr.

II-3-Création des variables métiers


Dans certains domaines, des variables sont nécessaires pour effectuer des analyses, des
variables dites métiers. L’assurance n’échappe pas à ce constat et pour notre projet, nous avons
des variables telles que S/P, le type de contrat, l’exposition, la fréquence du sinistre, la prime
moyenne et le coût moyen.

II-4-Agrégation par avenant


Nos deux principales tables utilisées pour nos algorithmes sont organisées par avenant
(modification apportée à un contrat). Les informations d’un contrat sont obtenables en
agrégeant les différents avenants par leur identifiant. Et parfois certaines lignes sont des
annulations d’autres, sans des agrégations nous ne pourrions pas les retirer du jeu de données.

II-5-Encodage des variables catégorielles


Nous trouvons souvent des variables catégorielles dans nos ensembles de données. Une
variable catégorielle a un nombre fini de catégories ou d'étiquettes pour ses valeurs. Par
exemple, le sexe est une variable catégorielle qui peut prendre « Masculin » ou « Féminin »
comme valeur. Il en existe deux types principalement :
• Variables catégorielles ordinales : Ce sont des variables catégorielles dont les valeurs
suivent un ordre naturel. Par exemple, dans la variable Niveau d’instruction, ses valeurs «
École primaire », « Quelques études collégiales » et « Diplôme d'études supérieures »
suivent un ordre dans lequel « Diplôme d'études supérieures » est le niveau d'études le plus
élevé et « École primaire » est le plus bas ;
• Variables catégorielles nominales : Ce sont des variables catégorielles dont les valeurs ne
suivent pas un ordre naturel. Par exemple, Sexe est une variable catégorielle nominale dont
les valeurs « Homme » et « Femme » ne suivent pas d'ordre.
Cependant, les algorithmes de ML ont un souci avec ce genre de variable. En effet nos
algorithmes ne ‘’comprennent’’ que des chiffres, des nombres. Alors comment utiliser des
variables catégorielles pour nos algorithmes ? La solution que nous avons utilisée : le codage
de variable catégorielle. Ce dernier consiste à transformer les possibilités d’une variable
catégorielle en colonne et lorsque la ligne en question correspond à la possibilité on met comme
valeur 1 sinon 0 comme le présente la figure ci-dessous :

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 43
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

Figure 11: Encodage de variable catégorielle

II-6-Cumulation des variables


Notons que pour notre échantillon final nous avons une vue par contrat, c’est-à-dire
qu’une ligne correspond à un contrat. Mais un contrat évolue au cours du temps, on le modifie
par l’ajout de nouvelles closes, le retrait d’anciennes, etc. Nos polices d’assurance n’échappent
pas à cet état de fait. Notre jeu de données devra donc retracer l’état d’un contrat à un moment
donné de son évolution. Et pour ce faire, nous effectuons un regroupement par cumulation.
Illustrons ce traitement par la figure ci-dessous :
Figure 12: Exemple de groupement cumulé

Ce contrat a six ans en portefeuille et pour sa première année, l’assuré a versé 301 000FCFA.
Pour la seconde année, le double soit 602 000FCFA, en fait il a encore versé 301 000FCFA
mais au total sur les deux années il aura versé 602 000Fca. C’est pareil pour la troisième année.
Et donc pour ces six ans en portefeuille, il y aura six lignes dont chacun représente l’évolution
du contrat au fil des années.

II-7-Extraction des variables


Vous l’aurez remarqué nous avons énormément de variables au niveau de nos tables.
Cependant, elles toutes ne sont pas nécessaire pour nos algorithmes comme par exemple les
identifiants. Mais au-delà de ce type de variables nous en avons d’autres qui reprennent les
informations que certaines apportent ce qui créerait du bruit inutile pour nos algorithmes. En
plus de ces éléments, une trop grande dimension au niveau de notre jeu de données pourrait

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 44
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
entraîner le fléau du dimensionnement surtout pour les algorithmes basés sur la distance. Afin
d’éviter cela, nous avons effectué une extraction de variables.
Pour ce faire, nous avons étudié la corrélation via le coefficient de corrélation des
variables mais cela restait insuffisant. Elle permettait juste d’émettre des hypothèses. Dans
l’optique de confirmer nos hypothèses, nous avons effectué une simple régression logistique et
un random forest afin de voir l’importance des variables. Nous sommes allés plus loin en faisant
de la régression pénalisée (Ridge, Lasso, …). En procédant ainsi, nous avons pu sélectionner
nos variables aisément. [10]

II-8-Mise à l’échelle des variables continues


Lorsque nos données sont composées d’attributs avec des échelles variables cela peut
poser des problèmes. En effet, de nombreux algorithmes d’apprentissage automatique ont
besoin que les données soient mises à la même échelle. Surtout pour les algorithmes
d’optimisation utilisés au cœur des algorithmes d’apprentissage automatique comme la
descente de gradient.
Il est également utile pour les algorithmes qui pondèrent les entrées comme la régression et les
réseaux de neurones et les algorithmes qui utilisent des mesures de distance comme K-Nearest
Neighbors. Le plus souvent vous rencontrerez deux techniques de Features Scaling (mise à
l’échelle) :
- Normalisation (Scaling Normalisation)
La normalisation est une technique de mise à l'échelle dans laquelle les valeurs sont décalées
et remises à l'échelle de sorte qu'elles finissent par se situer entre 0 et 1 en se servant de la
valeur minimale et maximale de la colonne. Elle s’utilise pour des données qui n’ont pas de
distribution particulière et elle est assez sensible aux valeurs aberrantes. Formellement, il se
présente comme suit :
𝑥𝑖 − min (𝑥)
𝑥𝑖′ =
max(x) − min (𝑥)
Avec :
𝑥𝑖′ : la nouvelle valeur de l’observation i
𝑥𝑖 : l’ancienne valeur de l’observation i
min(x) : la valeur minimale de la variable
max(x) : la valeur maximale de la variable
- Standardisation

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 45
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Elle consiste à centrer les valeurs autour de la moyenne et à redéfinir un écart-type unitaire.
Plus utilisée pour comparer des mesures ayant des unités différentes pour que les variables
contribuent de façon égale à l’analyse sans pour autant créer de biais. Elle est résistante aux
valeurs aberrantes. Sa formule est la suivante :
𝑥𝑖 − 𝑥̅
𝑥𝑖′ =
𝜎
Avec :
𝑥𝑖′ : la nouvelle valeur de l’observation i
𝑥𝑖 : l’ancienne valeur de l’observation i
𝑥̅ : la moyenne de la variable
𝜎 : l’écart type de la variable
Pour notre cas d’usage nous avons effectué une standardisation.
En dehors de ces deux méthodes de mise à l’échelle, il existe d’autres techniques de mise
à l’échelle notamment le binning, transformateur quantile, transformateur de puissance,
le max absolue, etc.
Après tous ces traitements nous obtenons un ensemble de données avec plus 680.000 polices
reparties sur plus 1.500.000 lignes et 21 colonnes (dont 18 continues et 3 catégorielles).
Après encodage binaire des variables catégorielles, nous passons à 44 colonnes.
Tableau 7 : Dictionnaire de données final

Variables Types Descriptions Sources


Prime nette d'accessoire et de
Primnett entier prime
taxe
accequit entier Sorte de taxe prime
Commission versée en
commissi entier prime
coassurance
Montant payé sur le sinistre au
sinpay entier sinistre
cours d'un exercice donné

Montant de recours encaissé


recenc entier sur le sinistre au cours d'un sinistre
exercice donné
Stock de sinistre à payer à une
sap entier sinistre
date d'inventaire
Stock de recours à encaisser à
arec entier sinistre
une date d'inventaire

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 46
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Variables Types Description Sources
Evaluation totale du dommage
eval entier sinistre
subi
Somme d'argent déjà versée à
solde_paiement entier sinistre
l'assuré
nature_sin_mat_et_corporel entier sinistre
nature_sin_corporel entier Nombre de sinistre suivant la sinistre
nature_sin_materiel entier nature sinistre
nature_sin_maladie entier sinistre
charge_sinistre entier Coût du sinistre sinistre
Nombre de jour du contrat en
nb_jour entier prime
portefeuille
Rapport de la durée du contrat
exposition réel prime
sur le temps d'observation
rapport du coût moyen de prime et
s_p réel
sinistre sur la prime moyenne sinistre
rapport du nombre de sinistre prime et
freq réel
sur l'exposition sinistre
classement du contrat suivant
chaîne de prime et
type_contrat le risque: gros risque, risque
caractère sinistre
individuelle ou collectif

Code d'une branche (Désigne


chaîne de un type de contrat, constitué
codebran branche
caractère d'un regroupement de
catégorie)
Regroupement des
intermédiaires par groupe selon
chaîne de
libtypin leur type. intermédiaire
caractère
Canal auquel appartient un
intermédiaire

II-LABELLISATION
A présent que nous avons fini de transformer nos données la prochaine étape consiste
à savoir comment est-ce que nos données sont labellisées. C’était l’un de nos plus grands défis
sur cette problématique. En effet, la définition du bon contrat à garder en portefeuille ou du
mauvais contrat à supprimer du portefeuille n’est pas véritablement claire, nous avons plutôt
des aprioris de cette définition. Alors la grande question était de savoir, quel critère utiliser
pour définir le contrat à résilier ou à renouveler ?

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 47
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Une première manière de procéder serait de faire usage du système expert vu qu’il permet déjà
d’optimiser le portefeuille normal. Toutefois cela présentera deux inconvénients :
1. Le système expert est moins fiable pour des contrats dont la durée est inférieure à cinq
années. Certes il effectuera des prédictions sur tous les contrats mais plus le contrat dure
en portefeuille plus la prédiction sera fiable.
2. Utiliser le système expert, fera que nos modèles tendront vers ce dernier et à quoi cela
servira s’il faut copier le système à l’aide du Machine Learning. C’est d’ailleurs l’un des
problèmes principaux de l’essai ML qui précédait nos travaux.
Pour remédier à ces problèmes nous avons labellisé nos polices dont la durée est supérieure à
cinq ans avec le système expert (environ 35% de nos données) et pour les contrats dont la durée
est en dessous des cinq ans nous labellisons nous même en émettant des règles suivantes :
• Lorsque le contrat a moins d’une année, on le reconduit car en une année il est difficile de
dire si un contrat est bon ou pas, même s’il a consommé toute sa prime.
• Lorsque le contrat a deux ans, s’il a rapporté de l’argent une année et sur l’autre pas du tout,
nous le taguons comme ‘’bon’’ mais si sur ces deux années il rapporte de l’argent, il aura
pour tague ‘’bon’’ sinon ‘’mauvais’’
• Lorsque le contrat a trois ou quatre ans, nous le taguons suivant le fait qu’il a été au total
sur ces trois ou quatre ans bons ou pas.
Avec cette façon de procéder, nous avons obtenu des résultats satisfaisants qui battent le
système expert (nous en donnerons les détails au chapitre concernant les résultats. Cette façon
de procéder a été validé le métier. Après la labellisation nous obtenons à peu près 96% de
contrat à garder en portefeuille.
Figure 13: Proportion de polices à résilier/renouveler

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 48
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
III-EVALUATION
Nous devons être capable d’évaluer nos différents modèles afin d’en ressortir le meilleur.
Pour cela nous utilisons une métrique particulière au domaine de l’assurance dénommée
résultat.
Il représente la différence entre l’ensemble des primes versées et l’ensemble des coûts de
sinistre. Cette métrique se calcule par année, et la formule est la suivante :
𝑛
𝑟é𝑠𝑢𝑙𝑡𝑎𝑡 = ∑ (𝑝𝑟𝑖𝑚𝑒𝑖 − 𝑐𝑜û𝑡_𝑠𝑖𝑛𝑖𝑠𝑡𝑟𝑒𝑖 )
𝑖=1

𝑝𝑟𝑖𝑚𝑒𝑖 : prime versée par le contrat i pour l’année


𝑐𝑜û𝑡_𝑠𝑖𝑛𝑖𝑠𝑡𝑟𝑒𝑖 : le coût des sinistres du contrat i pour l’année
n : le nombre de contrat
Lorsqu’un modèle classe un contrat comme mauvais, nous le retirons du portefeuille afin de
calculer le résultat.

IV-EQUILIBRAGE DES CLASSES


L’un des problèmes les plus récurrent en classification est le déséquilibre des classes
contenues dans le jeu de données. En effet, dans la vie réelle nous avons rarement des jeux de
données où les différentes classes ont la même proportion. Le plus souvent l’échantillon sera
déséquilibré comme dans notre cas où nous avons 4% des contrats qui sont à résilier. Cela pose
problème dans la mesure où nos algorithmes risquent d’apprendre plus de la classe majoritaire.
Prenons l’exemple d’un enfant à qui on voudrait apprendre un ensemble de questions à choix
multiple (QCM) de deux réponses par question. Et que la plupart des bonnes réponses sont la
numéro 1. L’enfant aura tendance à cocher 1 lorsqu’il n’est pas sûr d’une réponse afin
d’accroître ses chances de bonnes réponses. C’est pareil en classification lorsque les classes
sont déséquilibrées, les algorithmes risquent de prédire plus la classe majoritaire que les classes
minoritaires. Pour résoudre ce problème, on effectue un équilibrage des classes au niveau du
jeu d’entraînement (rappelez-vous, nous divisons nos jeux de données en deux ou trois parties :
II-3-TRAIN-VALIDATION). Nous avons deux techniques pour équilibrer la proportion des
classes : l’oversampling et l’undersampling qui consiste toutes les deux à rééchantillonner.
- Oversampling (sur-échantillonnage)
Elle consiste à dupliquer des lignes de la classe minoritaire au hasard de sorte à se rapprocher
du nombre de ligne majoritaire, ce qui a pour conséquence d’augmenter la quantité de donnée
totale. Reprenons notre exemple du QCM, mais cette fois-ci avec deux réponses par question

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 49
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
et les réponses correctes sont le plus souvent les réponses 1. Ce qu’on fait on duplique les
questions ayant pour réponses la réponse 2 de sorte à avoir un QCM où nous avons autant de
réponse 1 que 2 [1].
- Undersampling (sous-échantillonnage)
Avec l’undersampling, on met plutôt l’accent sur la classe majoritaire en supprimant des lignes
de cette dernière. Cela consiste à choisir également au hasard certaines observations de la classe
majoritaire et de les retirer jusqu’à ce que le nombre de ligne de la classe majoritaire atteigne
celle de la classe minoritaire.
Revenons à notre exemple, cette fois-ci, en suivant le principe de l’undersampling, on retirerait
plutôt des questions dont la réponse est 1 jusqu’à ce qu’on ait un nombre de question dont la
réponse 1 égale au nombre de question dont la réponse est 2 [1].
Figure 14:Undersampling vs Oversampling

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 50
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Chapitre VIII : RESULTATS ET PERSPECTIVES
Dans ce chapitre, nous ferons le bilan de nos travaux et les perspectives de notre projet.

I-BILAN DE L’APPRENTISSAGE
Ayant une grande quantité de données, nous avons subdivisé notre Dataset en train-
validation-test, pour les résultats que nous présenterons ci-dessous, il s’agit de notre jeu de
données de test qui n’a aucunement été utilisé pour l’entraînement de nos algorithmes. Pour
nos données de test, nous avons pris les données allant de 2017 à 2021.

I-1-Présentation des résultats


Voyons les résultats (la métrique) sur les différentes années de test (2017 à 2021) à travers
le tableau ci-dessous qui représente le chiffre d’affaire.

Tableau 8: Résultats des différents algorithmes

2017 2018 2019 2020 2021

Normal 26 630 913 402 30 132 469 429 27 213 310 274 27 227 400 990 26 097 780 038

Expert 35 553 579 968 37 573 003 733 42 318 975 907 39 627 538 154 37 694 653 528

Lstm 35 508 341 604 37 709 801 849 42 495 878 833 39 856 123 615 38 061 736 991

Deep 35 553 579 968 37 573 261 892 42 318 975 907 39 627 538 154 37 694 430 374

Random forest 34 787 848 270 36 510 456 842 41 254 496 414 38 329 557 873 36 478 424 361

Boosting 35 484 063 228 37 571 565 747 42 305 587 571 39 656 348 402 37 637 209 504

Logistique 31 381 982 418 32 631 381 266 35 604 104 114 40 289 327 986 39 686 963 340

A travers ce tableau des résultats nous observons que de façon générale, ce sont les réseaux de
neurones qui sont les meilleurs notamment du Deep Learning avec des couches totalement
connectées et du LSTM. Cependant rappelons que l’un des objectifs était de battre le modèle
expert le plus souvent possible. Observons en moyenne si cette condition est vérifiée en
moyennant les différents résultats sur les années de test à travers le tableau ci-suivant :

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 51
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Tableau 9: Résultat moyenné

Normal 27 460 374 827


Lstm 38 726 376 578
Deep 38 553 557 259
Expert 38 553 550 258
Boosting 38 530 954 890
Random Forest 37 472 156 752
Logistique 37 275 457 293

Ce tableau confirme nos premières observations selon lesquelles les modèles de Deep Learning
battent le système expert qui lui-même bat les autres modèles de Machine Learning qui à leur
tour battent le résultat normal de Sanlam Côte d’Ivoire. Ce qui permet de répondre à l’une de
nos interrogations qui est de savoir si le ML pourrait permettre d’optimiser le portefeuille client
mais aussi en poussant plus loin avec du Deep Learning nous pouvons battre le système expert
qui jusque-là était le meilleur.

I-2-Présentation de la structure du meilleur modèle


Il s’agit du réseau de neurones de type LSTM avec cinq couches, dont :
• Une couche d’entrées de 44 variables ;
• Une couche Fully Connected de 100 neurones avec des fonctions d’activation de type
« Scaled Exponential Linear Units (SELU) » ;
• Une couche de type LSTM de 150 neurones avec des fonctions d’activation de type
« SELU » ;
• Une couche Fully Connected de 200 neurones avec des fonctions d’activation de type
« SELU » ;
• Une couche de sortie d’un neurone avec pour fonction d’activation « SIGMOïD ».
Ce qui donne un total de 185 501 paramètres.

I-3-Dashboard

A présent, nous présenterons quelques captures de notre application réalisée avec


streamlit.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 52
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Figure 15:Navigation sur le dashboard et filtres

A ce niveau, nous avons les différents filtres du Dashboard (en 1) et les onglets de navigation
(en2). Avec les onglets de navigations, nous avons une vue générale de nos données sur les
cinq dernières années dans un premier temps (voir la figure ci-dessous) comme les résultats,
les charges sinistres, les primes perçues…
Figure 16: Statistique sur l'évolution du portefeuille

Sur le second onglet, nous avons les détails par années, des statistiques plus précises comme le
nombre contrats résiliés par modèles, la répartition par type de contrat, par branche et bien
d’autres encore (figure ci-dessous).

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 53
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Figure 17: Statistique concernant une année

Avec les filtres, nous pouvons avoir des statistiques suivant nos besoins. Par exemple obtenir
la quantité de contrat à préserver en portefeuille selon le système expert ou selon notre modèle
de ML.

II-PERSPECTIVES
Pour ce projet, bon nombre de perspectives se présentent à nous. En effet, nous n’avons
pas tenu compte pour nos modèles de ML de la dimension client et intermédiaire (entité
apportant le client). Nous nous sommes axés sur les contrats en eux même et les sinistres. Une
perspective d’amélioration serait donc d’intégrer les données des clients et des intermédiaires
pour les algorithmes de ML vu que là elles ne servent qu’à des fins d’analyse statistique.
Une autre perspective d’amélioration serait d’intégrer un troisième label qui permettra
de dire qu’une police doit être observée plutôt que résiliée ou renouvelée. Et dans ce cas-ci (en
observation), il serait intéressant de mettre des algorithmes de suggestion de révision de police
soit en retirant certaines garanties de la police soit en revoyant la prime à la hausse.
Et un dernier élément serait de se servir des données générées par tout ce système pour
faire des propositions de garanties pour de nouveau contrat avec les tarifs adéquats.
Une chose est sûre, le Machine Learning ouvre bon nombre de perspectives au domaine
de l’assurance.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 54
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
Dans cette partie nous avons présenté dans un premier temps certains éléments liés à
l'assurance via sa définition, les différents types de maisons d’assurances, les intervenants dans
le domaine, etc. Nous avons présenté l’implémentation la solution que nous proposions à
travers notre architecture de données pour notre pipeline, la procédure suivie pour le traitement
de nos données, la métrique utilisée et nos résultats sans oublier les perspectives d’évolution
du projet.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 55
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------

CONCLUSION GENERALE

Au terme de nos travaux, nous pouvons dire que nous avons atteint notre objectif
principal qui était de mettre en place un pipeline ML afin d'optimiser le portefeuille client de
SACI dont nous avons parlé tout au long de ce mémoire à travers trois parties.
D’abord, nous avons évoqué l'environnement et l'étude préalable du projet via la
présentation de l'IDSI, de SACI et les détails du projet.
Ensuite dans la seconde partie nous avons abordé les connaissances métiers tant du
point de vue de l'assurance que du point de vue la Data science. Ajouté à cela, toujours dans la
seconde partie, nous avons présenté l'existant qui est le système expert et la première tentative
d’optimisation du portefeuille à l'aide de méthodes ML.
Enfin, nous avons fini avec une dernière partie qui tournait autour de l'implémentation
de notre proposition de solution via la présentation de l'architecture de notre pipeline de
données, de la structure de notre meilleur modèle et les résultats obtenus avec les perspectives.
La plus grande difficulté rencontrée a été la labellisation des données vu qu’en soit, un
mauvais contrat n'est pas quelque chose de bien définie, mais au final nous retenons que tout
s’est bien déroulé et nous sortons satisfaits de cette expérience car nous avons pu accéder à
différents aspects des métiers de la Data à travers la mise en place d'une architecture, l'analyse
et la visualisation de données et l'entraînement d'algorithme de ML en passant par la mise en
production.
La perspective immédiate serait d'intégrer les données clients et intermédiaires pour la
formation d’algorithme et à long terme d’autres modèles pour la proposition de garantie et de
prime pour les nouveaux contrats.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 56
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
BIBLIOGRAPHIE & WEBOGRAPHIE

Ouvrages
[1] Aurélien Geron, Hands-On Machine Learning with Scikit-Learn, Keras, and
TensorFlow, O'REILLY, 2nd Edition.
[2] James Densmore, Data Pipelines Pocket Reference Moving and Processing Data for
Analytics, O'REILLY.
Sites web
[3] Franceassureurs, https://www.franceassureurs.fr/assurance-protege-finance-et-
emploie/assurance-protege/lassurance-en-pratique-pour-les-particuliers/courtier-agent-
general-et-mandataire-assurances-les-obligations-information-et-de/ ,consulté le 01
Septembre 2022.
[4] Ilearnlot, https://www.ilearnlot.com/expert-system-advantages-disadvantages/34332/
consulté le 15 septembre 2022.
[5] Medium, https://medium.com/intro-to-artificial-intelligence/deep-learning-series-1-
intro-to-deep-learning-abb1780ee20#:~:text=1.-
,Deep%20Learning,the%20functioning%20of%20our%20brains, consulté le 19
septembre.
[6] MinIO, https://min.io/ , consulté le 27 septembre 2022.
[7] ClickHouse, https://clickhouse.com/clickhouse, consulté le 27 septembre 2022.
[8] OpenClassrooms, https://openclassrooms.com/fr/courses/2035766-optimisez-votre-
deploiement-en-creant-des-conteneurs-avec-docker, consulté le 05 octobre 2022.
[9] Quantmetry, https://www.quantmetry.com/blog/le-fleau-de-la-dimension-techniques-de-
selection-de-variables/, consulté le 10 octobre 2022.

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 57
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
TABLE DES MATIERES

DEDICACE ......................................................................................................................................................... 1
REMERCIEMENTS.......................................................................................................................................... 2
SOMMAIRE........................................................................................................................................................ 3
LISTE DES TABLEAUX .................................................................................................................................. 4
LISTE DES FIGURES ...................................................................................................................................... 5
LISTE DES ABBREVIATIONS ET SIGLES ............................................................................................... 6
AVANT-PROPOS.............................................................................................................................................. 7
RESUME ............................................................................................................................................................. 8
ABSTRACT ........................................................................................................................................................ 9
INTRODUCTION GENERALE .................................................................................................................... 10
PARTIE I : ENVIRONNEMENT ET ETUDE PREALABLE DU PROJET ........................................ 11
Chapitre I : PRÉSENTATION DE LA STRUCTURE D’ACCUEIL ................................................ 12
I-PRÉSENTATION DE SACI .............................................................................................................. 12
II-PRESENTATIOPN DE LA DIRECTION D’ACCUEIL .............................................................. 12
CHAPITRE II : POLITIQUE DE RENOUVELLEMENT ACTUELLE ............................................ 13
I-POLITIQUE DE RENOUVELLEMENT......................................................................................... 13
II-SYSTÈME EXPERT .......................................................................................................................... 14
III-TENTATIVE D’OPTIMISATION A L’AIDE DU MACHINE LEARNING.......................... 17
Chapitre III : PRÉSENTATION DU PROJET ..................................................................................... 20
I-OBJECTIF PRINCIPAL ..................................................................................................................... 20
II-OBJECTIFS SPECIFIQUES ............................................................................................................. 20
III-ENJEUX DU PROJET ...................................................................................................................... 20
IV-AGENDA DU PROJET .................................................................................................................... 21
PARTIE II : CONNAISSANCES METIERS ET IMPLÉMENTATION DE LA SOLUTION .......... 23
Chapitre IV : GÉNÉRALITÉS CONCERNANT L’ASSURANCE .................................................... 24
I-DÉFINITIONS DES CONCEPTS CLEFS LIES A L’ASSURANCE .......................................... 24
Chapitre V : THEORIE CONCERNANT LE DEEP LEARNING .................................................... 27
I-RESEAU DE NEURONES ARTIFICIEL ........................................................................................ 27
II-TYPE DE RESEAUX DE NEURONES.......................................................................................... 28
Chapitre VI : PRESENTATION DES DONNEES ET DE NOTRE PIPELINE ............................ 32
I-SOURCES DE DONNÉES ................................................................................................................. 32

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 58
Projet POLREN
MASTER DATA-SCIENCE BIG DATA & IA

----------------------------------------------------------------------------------------------------------------
II-TABLES UTILISÉES ........................................................................................................................ 32
III-DESCRIPTION DE L’ARCHITECTURE DE NOTRE PIPELINE ......................................... 37
Chapitre VII : APPROCHE MACHINE LEARNING ......................................................................... 42
I-TRAITEMENT DES DONNEES...................................................................................................... 42
II-LABELLISATION .............................................................................................................................. 47
III-EVALUATION .................................................................................................................................. 49
IV-EQUILIBRAGE DES CLASSES ..................................................................................................... 49
Chapitre VIII : RESULTATS ET PERSPECTIVES............................................................................ 51
I-BILAN DE L’APPRENTISSAGE ..................................................................................................... 51
II-PERSPECTIVES ................................................................................................................................ 54
CONCLUSION GENERALE ......................................................................................................................... 56
BIBLIOGRAPHIE & WEBOGRAPHIE ...................................................................................................... 57
TABLE DES MATIERES............................................................................................................................... 58

----------------------------------------------------------------------------------------------------------------
Richmond KONGO 59

Vous aimerez peut-être aussi