Vous êtes sur la page 1sur 90

Dédicaces

Nous dédions ce modeste travail :

A Nos chers parents :

Aucun mot ne peut exprimer notre gratitude envers eux, nous l'avons dit
une fois dans le temps, nous le répèterons toujours avec la même
conviction.

A Nos chers frères, nos chères sœurs :

Leurs énormes, soutiens et encouragements ont fait d'eux les plus


dévouées des personnes qu'on puisse avoir.

A nos frères et sœurs de la Faculté des Sciences Ain Chock Casablanca :

En honneur à la grande amitié qui nous unit, aux souvenirs et moments


agréables passés ensemble.

A tous nos amis, et tous ceux qui nous aiment.

2
Remerciements

Je remercie Dieu le tout puissant d'avoir dessiné ce parcours pour


moi, de l'opportunité qu'il m'a offert en intégrant une aussi grande
compagnie pour ce stage de fin d'étude et de la force, la santé et la
volonté qu'il m’a donné pour réaliser ce mémoire.

Tout d'abord, je tiens à exprimer ma plus profonde reconnaissance


à ma famille et mes amis qui m'ont soutenu, motivé et contribué à
l'élaboration de ce mémoire jusqu'au bout et de la meilleure façon
possible. Mes vifs remerciements s'adressent ensuite à mes deux
encadrants, à savoir mon encadrant pédagogique Mr MOUSSAID Khalid
pour sa disponibilité, ses précieux conseils et son écoute, ainsi que mon
encadrante professionnelle Mme AFERIAT Asmaa qui m'a très bien
accueilli au sein de la compagnie VEOsmart, je tiens donc à lui exprimer
ma sincère gratitude pour tout le temps qu'elle m'a consacré, pour ses
directives précieuses, la qualité de son suivi et surtout pour son
engagement personnel et professionnel pour donner de la valeur à ce
projet et pour avoir fait en sorte qu'il soit à la hauteur de toute attente
académique et professionnelle.

Je profite de cette occasion pour remercier également Mr LAHLOU


Yassine le président directeur général ainsi que toute l'équipe des
experts et des gestionnaires de VEOsmart pour le chaleureux accueil et
la bonne ambiance qui y règne.

Enfin, mes sincères remerciements et respects aux membres du


Jury qui ont fait l'honneur d'évaluer ce travail, et à toute personne ayant
participé directement ou indirectement à la réalisation de ce mémoire.
Merci à vous également chers lecteurs, en espérant que vous allez
prendre autant de plaisir à le lire que j'en ai pris à le réaliser.

3
Résumé

Le secteur d’assurance est un secteur très développé au Maroc, et


la concurrence y est rude. Les entreprises gagnantes sont celles qui
savent tirer les meilleures parties d’information dont elles disposent sur
elles-mêmes et sur leurs concurrents. VEOsmart s’est très tôt fixé pour
objectif de mettre en place un système décisionnel en support à la
performance de l’entreprise.

Par conséquent, ma mission se résume en la réalisation d’un


système décisionnel qui consiste à créer des fonctions en Python
permettant le processus ETL (nettoyer les données et les qualifier), ainsi
qu’en le développement des modèles de prédiction permettant de
détecter les anomalies et les statuts généraux des dossiers sinistres en
se basant sur les algorithmes d'apprentissage automatique (Machine
Learning).

Ensuite j’ai développé des rapports automatisés pour le suivi des


dossiers sinistres en temps réel sous l’outil ZOHO Analytics.

Cela va permettre à la compagnie de réduire le temps


d'investigation et de traiter plus de dossiers en un temps réduit.

4
Abstract

The insurance sector is highly developed in Morocco and


competition is fierce. The winning companies are those that know how
to extract the best parts of the information they have about themselves
and their competitors. VEOsmart set as objective very early setting up a
decision-making system to support the company's performance.

Therefore, my mission is summarized in the realization of the


decisional system which consists in creating Python functions allowing
the ETL process (data cleaning and qualification), as well the
development of prediction models allowing the detection of anomalies
and the general status of claims files based on Machine Learning
algorithms.

Then I developed automated reports for real-time claim tracking


using ZOHO Analytics.

This will allow the company to reduce investigation time and


process more files in less time.

5
Liste des abréviations

BI Business Intelligence
ETL Extarct Transform Load
DL Deep Learning
ML Machine Learning
DT Decision Tree
RF Random Forest
LR Logistic Regression
SVM Support Vector Machines
KNN K Nearest Neighbors
HAC Hierarchical Agglomerative Clustering
DBSCAN Density-Based Spatial Clustering of Applications with Noise
CSV Comma-Separated Values
WS Web Service
GCP Google Cloud Platform
HTTP Hyper Text Transfert Protocol
GD Google Drive
GC Google Colaboratory
TP True Positive
TN True Negative
FP False Positive
FN False Negative
UML Unifed Modeling Language
Saas Service as a software
API Application Programming Intefrace

6
Table des figures

Figure 1: Les domaines d'assurance ............................................................................ 16


Figure 2: Les acteurs de l'assurance ............................................................................ 20
Figure 3: Procédures d'expertise au sein de Veosmart ............................................... 22
Figure 4 : Procédures digitalisées au sein de Veosmart .............................................. 23
Figure 5 : Organigramme de Veosmart 2020 .............................................................. 23
Figure 6: Problématique .............................................................................................. 24
Figure 7: Diagramme de Gantt .................................................................................... 27
Figure 8: Classification et Régression .......................................................................... 35
Figure 9: Clustering ...................................................................................................... 38
Figure 10: Train_test_split ........................................................................................... 40
Figure 11: Matrice de confusion .................................................................................. 40
Figure 12: Métriques.................................................................................................... 41
Figure 13: Diagramme de cas d'utilisation .................................................................. 50
Figure 14: Diagramme de séquence ............................................................................ 51
Figure 15: Diagramme d'activité .................................................................................. 52
Figure 16: Logo Python ................................................................................................ 58
Figure 19: Logo Scikit learn .......................................................................................... 59
Figure 20: Logo Numpy ................................................................................................ 59
Figure 21: Logo Pandas ................................................................................................ 60
Figure 22: Logo Date Time Python ............................................................................... 60
Figure 23: Distance de Jaro .......................................................................................... 61
Figure 24: Logo Regex Python...................................................................................... 61
Figure 27: Save & Load with Pickle .............................................................................. 62
Figure 17: Logo Jupyter ................................................................................................ 62
Figure 18: Logo Google Colaboratory .......................................................................... 63
Figure 25: Logo Google Cloud Plateform ..................................................................... 63
Figure 26: Logo integromat.......................................................................................... 64
Figure 28: Logo Zoho Analytics .................................................................................... 64
Figure 29: Benchmark .................................................................................................. 66
Figure 30: Similarité entre les noms avec la distance de jaro ..................................... 70
Figure 31: Matrice de corrélation « Anomalie » .......................................................... 73
Figure 32: Les matrices de confusion « Anomalie » .................................................... 76

7
Figure 33: Arbre de décision 1 ..................................................................................... 77
Figure 36: Arbre de décision 2 ..................................................................................... 80
Figure 40: Création d'une fonction sur GCP ................................................................ 82
Figure 42: Appel de la fonction http de GCP ............................................................... 82
Figure 43: Liaison des services sur integromat ............................................................ 83
Figure 44: Planification integromat ............................................................................. 84
Figure 50: Intégration des données sur Zoho Analytics .............................................. 85
Figure 53: Planification Zoho Analytics ........................................................................ 86
Figure 54: Exemple Reporting 1 ................................................................................... 86
Figure 55: Exemple Reporting 2 ................................................................................... 87
Figure 56: Exemple Reporting 3 ................................................................................... 87
Figure 59: Partage des rapports................................................................................... 88

8
Liste des tableaux

Tableau 1 : fiche signalétique de Veosmart................................................................. 21


Tableau 2: Système utilisé par l'entreprise.................................................................. 45
Tableau 3: Nettoyage et Qualification des données ................................................... 47
Tableau 4: Exemple de limite des outils ETL ................................................................ 47
Tableau 5: Type d'anomalie ......................................................................................... 48
Tableau 6: Etude comparative des outils de Reporting ............................................... 54
Tableau 7: Etude comparative des algorithmes de ML supervisés ............................. 55
Tableau 8: Descriptif des champs des données utilisées ............................................ 68
Tableau 9: Comparatif des métriques ......................................................................... 76
Tableau 10: Métriques du modèle............................................................................... 79

9
Table des matières

Dédicaces ............................................................................................................. 2
Remerciements ..................................................................................................... 3
Résumé ................................................................................................................ 4
Abstract ................................................................................................................ 5
Liste des abréviations ........................................................................................... 6
Table des figures ................................................................................................... 7
Liste des tableaux ................................................................................................. 9
Introduction générale ..........................................................................................13
Chapitre 1 : Contexte général du projet ..............................................................15
1.1 Initiation à l'assurance ...................................................................................... 16
1.1.1 Définition ................................................................................................... 16
1.1.2 Domaines ................................................................................................... 16
1.1.2.1 Exemple des assurances de dommages : ............................................ 17
1.1.2.2 Exemple des assurances de personnes : ............................................. 19
1.1.3 Acteurs de l’assurance : ............................................................................. 20
1.2 Présentation de l'organisme d'accueil ............................................................. 21
1.2.1 Présentation de la compagnie ................................................................... 21
1.2.2 Les métiers de la compagnie ..................................................................... 21
1.2.2.1 L’expertise à distance ........................................................................... 21
1.2.2.2 Process digitalisés ................................................................................. 22
1.2.3 Organisation et structure de la compagnie ............................................... 23
1.3 Présentation du projet ..................................................................................... 24
1.3.1 Problématique ........................................................................................... 24
1.3.2 Objectif du projet....................................................................................... 25
1.3.3 Méthodes et instruments de collecte des données .................................. 26
1.3.4 Conduite du projet ..................................................................................... 26

10
Chapitre 2 : Revue de littérature.........................................................................28
2.1 Business Intelligence ........................................................................................ 29
2.1.1 Définition ................................................................................................... 29
2.1.2 Les processus importants de la Business Intelligence ............................... 30
2.1.3 ETL Processing............................................................................................ 30
2.1.4 DataWarehousing ...................................................................................... 30
2.1.5 Reporting ................................................................................................... 31
2.1.6 Outils de la BI ............................................................................................. 31
2.2 Machine Learning ............................................................................................. 32
2.2.1 Définition ................................................................................................... 32
2.2.2 Notion mathématique ............................................................................... 32
2.2.3 Domaines d'application ............................................................................. 33
2.2.4 Les données ............................................................................................... 34
2.2.5 Types d'apprentissage automatique ......................................................... 35
2.2.5.1 Apprentissage supervisé ..................................................................... 35
2.2.5.2 Apprentissage non-supervisé .............................................................. 37
2.3 Evaluation et performance des modèles ......................................................... 39
2.3.1 Cas de classification ................................................................................... 39
2.3.2 Autres facteurs........................................................................................... 42
Chapitre 3 : Conception de la solution ................................................................44
3.1 Conception préliminaire du système ............................................................... 46
3.2 Modélisation du système ................................................................................. 49
3.2.1 Diagramme de cas d'utilisation ................................................................. 49
3.2.2 Diagramme de séquence ........................................................................... 50
3.2.3 Diagramme d’activité................................................................................. 51
3.3 Benchmark sur les outils et les algorithmes..................................................... 53
3.3.1 Benchmark sur les outils de la BI ............................................................... 53
3.3.2 Benchmark sur les algorithmes Machine Learning ................................... 55
Chapitre 4 : Environnement logiciel de la mise en œuvre ....................................57
4.1 Packages utilisés ............................................................................................... 58
4.2 Logiciels utilisés ................................................................................................ 62

11
Chapitre 5 : Réalisation et Mise en œuvre...........................................................65
5.1 Benchmark........................................................................................................ 66
5.2 Description des données .................................................................................. 67
5.3 Réalisation de la partie ETL (Python)................................................................ 69
5.4 Détection des anomalies (ML).......................................................................... 71
5.5 Détection du statut général (ML) ..................................................................... 78
5.6 Encapsulation et automatisation ..................................................................... 81
5.6.1 Encapsulation sur Google Cloud Plateforme (GCP) ................................... 81
5.6.2 Automatisation et liaison des tâches avec Integromat ............................. 83
5.7 Réalisation de la partie Reporting .................................................................... 85
Conclusion et perspectives ...................................................................................89
Webographie .......................................................................................................90

12
Introduction générale

De nos jours, les entreprises sont confrontées à une surcharge


d’informations. Alors celles qui souhaitent travailler plus intelligemment,
investissent dans des moyens pour les mieux contrôler et les
comprendre. Le Big Data est à nos portes. En fait, nous produisons
tellement de données dont 90% ont été recueillies au cours de ces cinq
dernières années.

Cette explosion de données, conjuguée aux larges capacités de


stockage et à la puissance de calcul du cloud, contribue ainsi à la
démocratisation de l’intelligence artificielle, dans tous les secteurs
d’activité. Pour nous, acteur du monde de l’assurance, c’est
l’opportunité de proposer une meilleure expérience à nos clients,
d’optimiser nos coûts de fonctionnement ou encore de libérer nos
collaborateurs des tâches chronophages.

Bien que l’adoption de nouvelles technologies puisse sembler une


tâche intimidante, les logiciels de Business Intelligence ont
généralement un bon rendement même si les avantages ne sont pas
visibles immédiatement. La Business Intelligence aide les entreprises à
suivre les tendances, à s’adapter aux différentes conditions du marché
et à améliorer la prise de décision à tous les niveaux de l’organisation.

En plus des solutions de stockages et de traitement qu'offre le Big


Data, cette technologie adopte des approches d'analyses très puissantes
qui ne sont que le composant d'un système fascinant qui est
l'Intelligence Artificielle. Il s'agit d'un ensemble de méthodes permettant
à une machine d'avoir un comportement rationnel sans l'aide constant
d'un être humain. De ce fait est né l'apprentissage automatique ou le
Machine Learning.

13
Ce dernier renvoie à un processus de développement, d'analyse et
d'implémentation conduisant à la mise en place de procédés
systématique. Pour faire simple, il s'agit d'une sorte de programme
permettant à un ordinateur ou à une machine un apprentissage
automatisé, de façon à pouvoir réaliser un certain nombre d'opérations
analytiques et/ou prédictives très complexes.

C'est ce qui a poussé la société VEOsmart à vouloir améliorer les


méthodes d’analyse en intégrant ces nouvelles technologies
informatiques et statistiques dans leur système.

Ma mission au sein de cette entreprise consistait à :

- Se familiariser et étudier de plus près les données.

- Créer un système décisionnel.

- Réaliser des analyses comportementales sur les anomalies.

- Tester, comparer et choisir les algorithmes les mieux adaptés à


c cette problématique.

- Optimiser le temps des traitements.

- Automatiser ce process sans aucune intervention.

- Développer des rapports automatisés en temps réel.

Au total, ce rapport décrit le projet en quatre chapitres. Dans le


premier chapitre on a situé le projet dans son cadre organisationnel et
conceptuel, et on a présenté l'organisme ainsi que le projet. Dans le
deuxième chapitre, les notions du Big Data, du Business Intelligence et
du Machine Learning ont été mentionnées pour les utiliser
ultérieurement ; plus précisément au niveau de la partie Réalisation. On
invoque par la suite dans le troisième chapitre l'analyse et l'étude
réalisées du côté fonctionnel et technique, ainsi que le choix des outils
et les algorithmes utilisés dans ce projet. Finalement, dans le quatrième
chapitre, on donne plus de détails sur le fonctionnement et le
déroulement du système créé en passant par l'infrastructure, l'analyse
faite, puis par l’encapsulation et l’automatisation de ce dernier.

14
Chapitre 1 : Contexte général du
projet

15
Ce chapitre a pour objectif de présenter l'organisme d'accueil
VEOsmart, de décrire le cadre ainsi que les objectifs du projet et enfin de
décrire la démarche adoptée dans la conduite du projet.

1.1 Initiation à l'assurance


1.1.1 Définition

L'assurance est une opération par laquelle une personne


(l'assureur) s'engage à réaliser une prestation, dans le cadre d'un contrat
d'assurance, au profit d'un autre individu (l'assuré) lors de la survenance
d'un risque et moyennant le paiement d'une cotisation ou d'une prime.
Le risque constitue l'objet de l'assurance. Un assuré contracte une
assurance pour se prémunir contre des événements dommageables
(maladie, incendie, vol, décès...) ou contre les risques liés à certains
objets qu'il possède (automobile, habitation...).

1.1.2 Domaines

L'assurance regroupe les domaines suivants :

Figure 1: Les domaines d'assurance

16
- L'assurance de dommages : L’assurance des dommages permet
d’obtenir une indemnisation en cas de sinistre. Elle regroupe à la fois la
protection de responsabilité (responsabilité civile, responsabilité civile
familiale ou responsabilité professionnelle) et celle de biens (dommages
causés au véhicule, protection des biens meubles ou immeubles).

-L’assurance de maladie/maternité : L’assurance maladie garantit le


remboursement des frais médicaux et pharmaceutiques résultant d’une
maladie. Elle couvre également les frais d’hospitalisation et de transport
médical. La garantie maternité couvre les frais liés à l’accouchement.

- L'assurance de personnes : Une assurance de personnes a pour objet


de couvrir les risques relatifs aux individus comme les accidents
corporels, la maladie, le décès ou encore l’invalidité. L’assurance de
personnes peut être souscrite soit à titre individuel soit à titre collectif.

1.1.2.1 Exemple des assurances de dommages :

- Assurance automobile : Les contrats d'assurance multirisques


automobiles prévoient une garantie de base et des garanties annexes.
La garantie de base « responsabilité civile automobile » a pour objet de
couvrir, dans les conditions du contrat, la responsabilité civile de l’assuré
à raison des dommages corporels ou matériels, à la personne ou aux
biens des tiers, résultant des accidents, incendies ou explosions causés
par le véhicule assuré. Cette garantie, dont la souscription est
obligatoire, ne couvre ni les dommages subis par l’assuré ni ceux subis
par le véhicule assuré. Les garanties annexes "facultatives" sont
destinées à couvrir les dommages matériels causés au véhicule assuré
(dommages collision, dommages tous accidents (tierce), incendie, vol,
bris de glaces, ...), les dommages corporels subis par le conducteur ou
les passagers du véhicule assuré (remboursement des frais médicaux et
d’hospitalisation, capital décès ou d’invalidité) et à prendre en charge les
actions amiables ou judiciaires pour la défense de l’assuré ou l’exercice
du recours pour son compte (garantie « défense et recours »).

17
- Assurance multirisque habitation : Elle couvre principalement les
dommages causés à l’habitation ou son contenu dus à des évènements
précisés au contrat (par exemple : l’incendie, le vol, les dégâts des eaux,
le bris de glaces, certains évènements climatiques, …). Elle garantit
également la responsabilité civile de l’assuré (propriétaire ou locataire)
et celle de sa famille en raison des dommages causés aux tiers ainsi que
certains frais engagés par l’assuré suite à des sinistres couverts (frais de
démolition, frais de relogement, perte de loyer, perte d’usage, …).
- Assurance accidents du travail : Cette assurance couvre la
responsabilité civile de l’employeur à l’égard de ses préposés et salariés
à raison des accidents qui surviendraient pendant l’exécution de leur
travail et durant les trajets entre leur domicile et le lieu du travail. Elle
garantit le paiement des indemnités et frais mis à la charge de
l’employeur en vertu de la loi n° 18-12 relative à la réparation des
accidents du travail (indemnités journalières en cas d’incapacité
temporaire de travail, rentes en cas d’invalidité permanente de la
victime ou en cas de son décès, frais médicaux et pharmaceutiques, frais
d’hospitalisation, frais funéraires …). Cette assurance obligatoire peut
être étendue à la couverture des maladies professionnelles.
- Assurance construction : L’assurance « Tous risques chantiers » : Elle
couvre notamment les dommages affectant l’ouvrage, les matériaux de
construction et les matériels destinés à être incorporés dans l’ouvrage
durant la durée de chantier (garantie « dommages à l’ouvrage »). Cette
assurance garantit également les responsabilités du maître de l’ouvrage
et des différents intervenants à raison des dommages causés aux tiers
du fait ou à l’occasion des travaux dans le chantier (garantie «
responsabilité civile chantier »).
- L'assurance "Responsabilité civile décennale" : Elle a pour objet de
couvrir la responsabilité civile décennale que l’assuré (architecte,
ingénieur ou entrepreneur) peut encourir en vertu de l'article 769 du
dahir formant code des obligations et des contrats en cas d’écroulement
ou de danger d’écroulement de l’ouvrage dans les dix ans suivant la
réception.

18
- Assurance responsabilité civile chasse : Cette assurance obligatoire
garantit la responsabilité civile du chasseur pour les accidents qu’il peut
causer à autrui à l'occasion de la pratique de la chasse.
- Assurance multirisque professionnelle : L’assurance multirisque
professionnelle offre aux entreprises et professionnels une couverture
des différents risques liés à leur activité. Elle couvre, en effet, les locaux
professionnels, les biens (matériel, marchandises, machines, …) ainsi que
la responsabilité civile à raison des dommages causés aux tiers (y
compris les clients de l’entreprise). Elle garantit, en outre, la prise en
charge de la perte d’exploitation pouvant résulter d’un arrêt de l’activité
suite à un sinistre couvert.

1.1.2.2 Exemple des assurances de personnes :

- Assurance en cas de vie : Le contrat d'assurance en cas de vie permet,


en cas de survie de l’assuré au terme du contrat, le versement d’une
prestation sous forme de rente (viagère : pendant toute la vie, ou
certaine : pendant une période fixe) ou de capital. Ce type de contrat
prévoit des options aux assurés en termes de versements à effectuer
pour la constitution de l’épargne, de retrait de fonds en cours de contrat
(rachat, avance) et de sorties possibles pour la liquidation de l’épargne.
- Assurance en cas de décès : Cette assurance garantit en cas de décès le
paiement d’un capital ou d’une rente aux bénéficiaires désignés par
l’assuré ou, à défaut, à ses ayants droit. On distingue entre deux types
de contrats « assurance temporaire décès » et « assurance vie-entière ».
Au titre du 1er type de contrat d’assurance, le paiement de la rente ou
du capital est subordonné au décès de l’assuré survenu pendant la durée
du contrat. Quant à l’assurance vie-entière, les prestations prévues au
contrat seront versées quelle que soit la date de survenance de ce
décès.
- Contrat de capitalisation : Contrat d'assurance où la probabilité de
décès ou de survie n'intervient pas dans la détermination de la
prestation en ce sens qu'en échange de primes uniques ou périodiques,
le bénéficiaire perçoit le capital constitué par les versements effectués,
augmentés des intérêts et des participations aux bénéfices.

19
- Assurance contre les accidents corporels : Elle garantit le versement
d’une prestation définie au contrat en raison de l’atteinte de l’intégrité
physique de l’assuré (Invalidité physique permanente ou Incapacité
temporaire au travail) ou de son décès suite à un événement accidentel.
Elle couvre également les frais médicaux et pharmaceutiques résultant
de cet évènement accidentel.
- Assurance maladie/maternité : L’assurance maladie garantit le
remboursement des frais médicaux et pharmaceutiques résultant d’une
maladie. Elle couvre également les frais d’hospitalisation et de transport
médical. La garantie maternité couvre les frais liés à l’accouchement.

1.1.3 Acteurs de l’assurance :

Dans l'assurance, les principaux acteurs sont :

- Souscripteur : la personne morale ou physique, ainsi dénommée aux


conditions particulières du contrat.
- Assuré : le souscripteur du contrat, le propriétaire du véhicule assuré
et toute personne ayant, avec l'autorisation de l'un ou de l'autre, la
garde ou la conduite du véhicule assuré.

Le Les La société
L'assuré L'assureur Les tiers
souscripteur intermédiares d'assistance

Figure 2: Les acteurs de l'assurance

20
1.2 Présentation de l'organisme d'accueil
1.2.1 Présentation de la compagnie

Veosmart est une société à responsabilité limitée basée à


Casablanca. Elle est la première plateforme au Maroc d’expertise à
distance, s’appuyant sur des process digitalisés et des technologies
innovantes.

Veosmart coopère avec plusieurs collaborateurs, principalement les


compagnies d’assurance à savoir RMA Assurance où elle détient 80% de
ses sinistres, Wafa Assurance où elle détient 100% des dossiers de ses
garages agréés sur la procédure bris de glace, elle collabore également
avec Hertz Global Holdings qui est une entreprise multinationale de
location de voiture, en leur digitalisant le process de location du Check In
au Check out, ainsi que la gestion des sinistres, et finalement RMA
Assistance en leur permettant de digitaliser tout le process d’assistance.

Le tableau suivant présente la fiche signalétique de la compagnie


Veosmart :

Nom de
Veosmart
l'entreprise
Création Juillet 2018
Siège social Casablanca, 301 Boulevard Abdelmoumen, Centre Al Miaraj
Activité Expertise à distance et digitalisation du process
Effectif 29 personnes
Chiffre d'affaire 1 million de dirhams
Tableau 1 : fiche signalétique de Veosmart

1.2.2 Les métiers de la compagnie


1.2.2.1 L’expertise à distance

L’expertise à distance (EAD) consiste à ne pas envoyer d’expert sur


les lieux pour évaluer les dégâts. En effet, les demandes sont aujourd’hui
nombreuses et il est difficile d’y répondre favorablement dans les temps.
Si l’expertise à distance a été mise en place, c’est pour éviter le délai
d’immobilisation du véhicule.

21
Il faut signaler que tant que l’expert n’a pas rédigé son compte
rendu, l’assurance auto ne peut évaluer l’indemnisation et donc les
réparations ne peuvent pas être réalisées et vous n’aurez pas de
véhicule, à moins que votre assurance ne mette une voiture à votre
disposition en attendant, ce qui dépend des garanties souscrites.

L’EAD consiste donc à évaluer à distance, sur photos, les dégâts


causés. Si l’expert a besoin d’éléments supplémentaires, le réparateur
devra envoyer de nouvelles photos ou indications. Ce concept est
également bénéfique pour les garagistes qui peuvent se passer de
l’organisation de leur planning en fonction de la venue de l’expert
automobile. L’EAD semble donc offrir tous les avantages.

Voici les différentes procédures d’expertise au sein de Veosmart :

Figure 3: Procédures d'expertise au sein de Veosmart

1.2.2.2 Process digitalisés

La digitalisation de la gestion des sinistres apporte une qualité de


service aux assurés en leur permettant de déclarer un sinistre 24h/24 et
7j/7. L’assuré bénéficie par ailleurs d’un meilleur suivi et de la possibilité
de visualiser en temps réel l’avancement de sa demande.

22
Côté assureur, la gestion des sinistres en ligne constitue un moyen
de gagner en productivité puisque la déclaration est confiée à l’assuré et
que cette démarche peut devenir, si on le souhaite, totalement
automatisable.

En bénéficiant de la déclaration de sinistre en ligne et en


automatisant les processus, les actions menées sont tracées, ce qui
permet l’optimisation de l’analyse des données et par extension, un gain
de temps non négligeable pour l’assureur.

Voici les différentes procédures digitalisées au sein de Veosmart :

Figure 4 : Procédures digitalisées au sein de Veosmart

1.2.3 Organisation et structure de la compagnie

Figure 5 : Organigramme de Veosmart 2020

23
1.3 Présentation du projet
1.3.1 Problématique

De nos jours, le nombre des dossiers sinistres augmente de plus en


plus. Peu de compagnies d'assurance utilisent des méthodes statistiques
et décisionnelles afin de bien exploiter ces données. Ainsi nous avons
pensé à intégrer ces données opérationnelles dans une base analytique,
qui nous permettra d’effectuer des interrogations et des analyses pour
une meilleure prise de décision à travers toute l’entreprise au bon
moment.

Figure 6: Problématique

La première étape était de réunir les données (Inputs), les nettoyer,


les qualifier et les mettre ensuite dans un seul fichier (Output).

La détection d’anomalies constitue un enjeu primordial. En


VEOsmart, détecter des anomalies en temps et en heure est important.
Cela permet de gagner du temps et de l’argent, c’est la raison pour
laquelle on a intégré les algorithmes d’apprentissage automatique
(Machine Learning) afin d’avoir un modèle performant de détection des
anomalies. Les évolutions en Machine Learning permettent même dans

24
certains cas de faire de la maintenance prédictive, en prévoyant les
anomalies avant qu’elles ne se produisent. D’où la deuxième étape qui
consistait à exploiter ces données afin de générer un modèle de
détection des anomalies, plus un autre modèle de détection du statut
général des dossiers sinistres afin d’automatiser cette tâche manuelle.

Troisièmement, le développement des rapports automatisés en


temps réel pour contrôler le progrès de l’entreprise.

Et finalement l’encapsulation des codes utilisés dans des fonctions


afin de les intégrer dans des outils d’automatisation pour éviter toute
intervention humaine.

1.3.2 Objectif du projet

Ce projet a pour but la conception d’un système décisionnel de


reporting, et de détection / prévention des anomalies, basé sur une
plateforme Business Intelligence et Machine Learning pour répondre au
maximum au besoin d’entreprise. Ce système devra atteindre :

- Objectif 1 : Collecter les données de différentes sources, effectuer un


prétraitement (nettoyage) et une qualification (jointure).

- Objectif 2 : Développer des modèles ML de détection des anomalies et


du statut général des dossiers sinistres, puis les intégrer dans le système
d’entreprise.

- Objectif 3 : Intégration continue des données dans une plateforme


décisionnelle.

- Objectif 4 : Développer des rapports automatisés en temps réel.

- Objectif 5 : Encapsuler les codes et automatiser tout le process.

- Objectif 6 : Partager ces rapports dans le système d’entreprise.

25
1.3.3 Méthodes et instruments de collecte des données

Les méthodes de recherche permettent la collecte des données et


des information utiles qui serviront après une analyse détaillée à la prise
de décision. Pour cette étude, nous avons choisi la méthode
documentaire et les réunions.

- La méthode documentaire : La méthode documentaire en interne a


permis de recueillir de l'information au moyen des sources
documentaires administratives au sein de VEOsmart. Dans cette
intention, nous avons analysé des documents afin de comprendre le
fonctionnement des différents services de l'entreprise, de maîtriser les
notions d'expertise et de connaître les méthodes de gestion des
sinistres.

- Réunions : C’est pour préciser le sujet et ses objectifs, ainsi pour


discuter la conception et la réalisation. Pour cela nous avons programmé
des réunions hebdomadaires avec l’ingénieur de projets et avec le
personnel du service d'expertise et d'autres réunions mensuelles avec le
directeur général. Ces réunions ont permis d'étudier les besoins et de
souligner les grandes lignes de ce projet en se basant sur une méthode
de contrôle intéractive. Ces réunions officielles sont la source des
données nécessaires pour le déroulement de ce projet.

1.3.4 Conduite du projet

Un projet se démarque par son cycle de vie, qui est généralement


présenté comme étant constitué de phases. Les phases suivies dans ce
projet proviennent de la méthodologie suivie. Le diagramme de Gantt du
projet montra le planning général du cycle de vie du projet qui s'étale
sur une période de cinq mois :

26
Figure 7: Diagramme de Gantt

Ce chapitre avait pour mission de présenter l’organisme d’accueil et


ses missions, situer le projet dans son contexte général, à savoir le
besoin qui a inspiré la création de notre projet, la description du projet
et les objectifs à atteindre ainsi que la planification des différentes
tâches.

27
Chapitre 2 : Revue de littérature

28
Ce chapitre sert à présenter la revue de littérature qui permet de
faire le point sur les notions abordées dans ce projet de fin d'étude à
savoir la Business Intelligence et l'Apprentissage Automatique (Machine
Learning). Ce chapitre traite les points essentiels de chacun de ces deux
grands domaines pour initier à la suite du projet.

2.1 Business Intelligence


2.1.1 Définition

Le terme Business Intelligence (BI), ou informatique décisionnelle,


désigne les applications, les infrastructures, les outils et les pratiques
offrant l’accès à l’information, et permettant d’analyser l’information
pour améliorer et optimiser les décisions et les performances d’une
entreprise. En d’autres termes, la Business Intelligence est le processus
d’analyse de données dirigé par la technologie dans le but de déceler
des informations utilisables pour aider les dirigeants d’entreprises et
autres utilisateurs finaux à prendre des décisions plus informées.

Ainsi, la BI regroupe une large variété d’outils, d’applications et de


méthodologies permettant de collecter des données en provenance de
systèmes internes et de sources externes, de les préparer pour l’analyse,
de les développer et de lancer des requêtes au sein de ces ensembles de
données. Ces outils permettent ensuite de créer des rapports, des
tableaux de bord et des visualisations de données pour rendre les
résultats des analyses disponibles pour les preneurs de décisions.

29
2.1.2 Les processus importants de la Business Intelligence

- Alimentation : La phase de l’alimentation consiste à : -Extraire des


données depuis les différentes sources de stockage -Transformer afin de
nettoyer les données -Charger les données (Loading) Ces tâches sont
effectuées par l’ETL (Extraction – Transformation – Loading)

- Modélisation : La phase de modélisation consiste à mettre en place


une Datawarehouse, entrepôt de données qui va permettre de
centraliser les données. Les données seront stockées sous une forme
plus adaptée pour les futures analyses et l’exploitation des données.

- Restitution : La phase de restitution fait intervenir les différents outils


comme des outils de reporting ou encore outils de statistiques.

- Analyse : Étape destinée aux utilisateurs finaux, les données sont sous
forme de rapport et sont exploitables et analysables. Ces analyses
auront pour but de faire ressortir des prévisions futures.

2.1.3 ETL Processing

Extraction, transformation, Chargement a pour but de récupérer et


collecter des données depuis des bases de données ou autres sources
existantes, afin de les transformer pour que ceux-ci soient exploitables
et pour charger les données dans l’entrepôt de données
(Datawarehouse).

2.1.4 DataWarehousing

Un Datawarehouse est un entrepôt de données, c’est un lieu de


stockage intermédiaire ou sont stockées les données destinée a être
analyser.

30
Le Datawarehouse contient des données non volatiles qui ont été
nettoyées au préalable. Il est alimenté par d’autres bases de données ou
d’autres sources via un ETL. Le Datawarehouse est une base de données
crée pour les besoins de la business intelligence, à savoir l’exploitation
des données en vue de permettre aux dirigeants de prendre les
meilleures décisions.

2.1.5 Reporting

Aujourd’hui les données sont de plus en plus importantes et


intéressent aussi désormais les chefs d’entreprises et les dirigeants. Les
outils de reporting vont ici aider à avoir des données lisibles et
exploitables par un homme d’affaires. Afin de répondre à cette nouvelle
demande, les rapports doivent être exécutées de manière régulière et
automatique, puis distribués aux utilisateurs finaux, les managers, chefs
d’entreprise, et dirigeants d’entreprises.

2.1.6 Outils de la BI

Techniquement parlant, l’outil de Business Intelligence (BI) n’est


pas une nouvelle technologie. Il s’agit plutôt d’une solution complète
d’analyse des données pour les entreprises, qui comprend le traitement
analytique en ligne, l’exploration de données, l’exploration de processus,
la gestion de la performance, l’analyse comparative, l’analyse prédictive
et le reporting le plus important. Les petites entreprises comme les
grandes entreprises font face aux mêmes défis : comment obtenir de
meilleures informations à partir des données volumineuses, améliorer
l’expérience client et optimiser la productivité des employés, mais avec
moins de ressources et un budget plus serré. Par conséquent, un outil
d’aide à la décision automatisé et facile à utiliser est d’une grande
importance pour les entreprises afin de donner un sens aux grandes
données complexes.
31
Voici quelques outils de BI les plus populaires :

- Tableau

- ZOHO Analytics

- Qlik

- IBM Cognos

- MSBI (SSIS-SSAS-SSRS)

- Power BI

2.2 Machine Learning


2.2.1 Définition

Le Machine Learning (précédemment appelé "Data Mining") est


basé sur les modèles statistiques afin de prédire le future (ex : anticiper
l'arrivée de la pluie pour régler les semailles et les récoltes, prédire les
éclipses du soleil, prédire le cancer, ...) à partir des données
d'apprentissage.

Aujourd'hui, à cause de l'explosion des données (Big Data) et


l'apparition d'une puissance de calcul importante le Machine Learning a
vu le jour. Le Machine Learning permet d'apprendre à réaliser des tâches
sans avoir été programmé explicitement pour cela. La machine peut
donc utiliser des algorithmes génériques applicables à une multitude de
tâches. Cela nous permet d'automatiser les processus et les tâches de
manière autonome.

2.2.2 Notion mathématique

Chaque observation passée d'un phénomène est décrite au moyen


de deux types de variables :
32
- Les premières sont appelées les variables prédictives (ou attributs ou
paramètres). Ce sont les variables à partir desquelles on espère pouvoir
faire des prédictions.

Les p variables prédictives associées à une observation seront notées


comme un vecteur X = (X(1), . . . ,X(p)) à p composantes. Un ensemble de
N observations sera constitué de N tels vecteurs X(1), . . . , X(N).

- Une variable cible dont on souhaite prédire la valeur pour des


évènements non encore observés. On notera Y cette variable cible avec
les mêmes significations pour les indices que pour X.

Pour fixer les idées, on considère schématiquement que la valeur


observée Y de la variable cible résulte de la superposition de deux
contributions :

- Une fonction F(x) des variables prédictives. C'est donc une contribution
entièrement déterminée par les variables prédictives x de l'observation.
C'est le signal que l'on souhaite mettre en évidence.

- Un bruit s(x) aléatoire. C'est un fourre-tout qui englobe les effets


conjugués d'un grand nombre de paramètres dont il est impossible de
tenir compte.

Aussi bien F que s resteront à jamais inconnus mais l'objectif d'un


modèle de Machine Learning est d'obtenir une "bonne approximation"
du signal F à partir d'un ensemble d'observations. Cette approximation
sera notée F, on l'appelle fonction de prédiction.

2.2.3 Domaines d'application

Bien que les algorithmes d'Apprentissage Automatique ne


consistent pas en une approche récente, la combinaison de ses calculs
mathématiques et probabilistes avec les nouvelles technologies de la Big
Data a permis d'exploiter plusieurs autre possibilités grâce aux calculs
complexes et rapides.

33
On cite parmi le large domaine d'application les exemples suivants :

- Les offres de recommandation en ligne telles que celles d’Ebay.

- Exploitation des feedbacks des clients sur Facebook.

- Détection de fraude et mensonge, une des utilisations les plus


importantes dans notre monde aujourd'hui.

- Services financiers : les banques, les assurances et les industries.

- Domaines de transport et logistique.

- Domaine médical.

2.2.4 Les données

En Machine Learning, les données sont appelées échantillons


représentés sous forme de vecteur X = (X(1), . . . , X(p)). On distingue
deux grandes familles de données :

- Les données étiquetées : les données (variables indépendantes) sont


accompagnées d'un label y (étiquette ou variable dépendante) qui
identifie la décision à prendre pour chaque échantillon (ex : anomalie =
O et non-anomalie = 1). Il est souvent très coûteux (en temps et en
argent) d'avoir de grands volumes de données labélisées.

- Les données non-étiquetées : les données ne sont pas accompagnées


de labels. Même si les données non labelisées sont plus difficiles à
exploiter, elles sont beaucoup plus accessibles.

NB : Les données brutes sont souvent inexploitables. Dans la plupart des


cas, il faut procéder à un prétraitement des données afin d'extraire les
caractéristiques des données pertinentes pour la prise de décision
autrement appelées caractéristiques (Features). Après le nettoyage on
procède souvent à un Feature Engineering pour relever les variables
indépendantes les plus significatives. Cette extraction de
caractéristiques fait souvent appel au bon sens, à des facteurs de
corrélation statistiques ou à des itérations successives (choix empirique).
34
2.2.5 Types d'apprentissage automatique

Il existe deux types d'apprentissage automatique dans le Machine


Learning pour différents types de problèmes que l'on pose :

2.2.5.1 Apprentissage supervisé

L'apprentissage supervisé est généralement effectué dans le contexte de


la classification, lorsque vous souhaitez mapper l'entrée sur des
étiquettes de sortie, ou de la régression, lorsque vous souhaitez mapper
l'entrée sur une sortie continue. Parmi les algorithmes dans
l'apprentissage supervisé on trouve : la régression logistique, bayes
naïve, les machines à vecteurs de support, les réseaux de neurones
artificiels et les forêts aléatoires (Random Forest). À la fois en régression
et en classification, l'objectif est de trouver des relations ou une
structure spécifique dans les données d'entrée nous permettant de
produire efficacement des données de sortie correctes.

Figure 8: Classification et Régression

35
Parmi les algorithmes d’apprentissage supervisé :

- Decision Tree (DT) :

Decision Tree est un outil d'aide à la décision représentant un


ensemble de choix sous la forme graphique d'un arbre. Les différentes
décisions possibles sont situées aux extrémités des branches (les «
feuilles » de l'arbre), et sont atteintes en fonction de décisions prises à
chaque étape. L'arbre de décision est un outil utilisé dans des domaines
variés tels que la sécurité, la fouille de données, la médecine, etc. Il a
l'avantage d'être lisible et rapide à exécuter. Il s'agit de plus d'une
représentation calculable automatiquement par des algorithmes
d'apprentissage supervisé.

- Random Forest (RF) :

Random Forest sont une méthode d'apprentissage d'ensemble


pour la classification, la régression et d'autres tâches qui fonctionnent
en construisant une multitude d'arbres de décision au moment de la
formation et en produisant la classe qui est le mode des classes
(classification) ou la prédiction moyenne (régression) des arbres
individuels. Random Forest corrigent l'habitude des arbres de décision
de sur- adapter à leur ensemble d'entraînement.

- Support Vector Machine (SVM) :

Le SVM appartient à la catégorie des classificateurs linéaires (qui


utilisent une séparation linéaire des données), et qui dispose de sa
méthode à lui pour trouver la frontière entre les catégories.

Pour que le SVM puisse trouver cette frontière, il est nécessaire de lui
donner des données d’entraînement, à partir de ces données, le SVM va
estimer l’emplacement le plus plausible de la frontière : c’est la période

36
d'entraînement, nécessaire à tout algorithme d’apprentissage
automatique.

Une fois la phase d’entraînement terminée, le SVM a ainsi trouvé, à


partir de données d’entraînement, l’emplacement supposé de la
frontière. En quelque sorte, il a appris l’emplacement de la frontière
grâce aux données d’entraînement. Qui plus est, le SVM est maintenant
capable de prédire à quelle catégorie appartient une entrée qu’il n’avait
jamais vue avant, et sans intervention humaine : c’est là tout l’intérêt de
l’apprentissage automatique.

- Logistic Regression :

La régression logistique est une technique prédictive. Elle vise à


construire un modèle permettant de prédire / expliquer les valeurs
prises par une variable cible qualitative (le plus souvent binaire, on parle
alors de régression logistique binaire ; si elle possède plus de 2
modalités, on parle de régression logistique polytomique) à partir d’un
ensemble de variables explicatives quantitatives ou qualitatives (un
codage est nécessaire dans ce cas).

- Linear Regression :

Un modèle de régression linéaire est un modèle de régression qui


cherche à établir une relation linéaire entre une variable, dite expliquée,
et une ou plusieurs variables, dites explicatives.

2.2.5.2 Apprentissage non-supervisé

L’apprentissage non supervisé désigne la situation d'apprentissage


automatique où les données ne sont pas étiquetées. Il s'agit donc de
découvrir les structures sous-jacentes à ces données non étiquetées.
Puisque les données ne sont pas étiquetées, il est impossible à
l'algorithme de calculer de façon certaine un score de réussite.
37
L'absence d'étiquetage ou d'annotation caractérise les tâches
d'apprentissage non-supervisé et les distingue donc des tâches
d'apprentissage supervisé.

Figure 9: Clustering

Parmi les algorithmes d’apprentissage non-supervisé :

- Kmeans :

K-means est un algorithme non supervisé de clustering non


hiérarchique. Il permet de regrouper en K clusters distincts les
observations du data set. Ainsi les données similaires se retrouveront
dans un même cluster.

Par ailleurs, une observation ne peut se retrouver que dans un cluster à


la fois (exclusivité d’appartenance). Une même observation, ne pourra
donc, appartenir à deux clusters différents.

38
- Hierarchical Agglomerative Clustering (HAC) :

Dans le cas du clustering agglomératif (ou bottom-up), on


commence par considérer que chaque point est un cluster à lui tout seul.
Ensuite, on trouve les deux clusters les plus proches, et on les agglomère
en un seul cluster. On répète cette étape jusqu'à ce que tous les points
appartiennent à un seul cluster, constitué de l'agglomération de tous les
clusters initiaux.

- Density-based spatial clustering of applications with noise (DBSCAN):

DBSCAN est un algorithme de clustering de données. Il s'agit d'un


algorithme non paramétrique de clustering basé sur la densité : étant
donné un ensemble de points dans un espace, il regroupe des points qui
sont étroitement liés (points avec de nombreux voisins proches),
marquant comme des points aberrants qui se trouvent seuls dans les
régions à faible densité (dont les voisins les plus proches sont trop
éloignés). DBSCAN est l'un des algorithmes de clustering les plus
courants et également le plus cité dans la littérature scientifique.

2.3 Evaluation et performance des modèles

Après création du modèle, on mesure sa performance sur la base


de test. Il existe certaines façons standard de le faire en fonction des
types de problèmes.

2.3.1 Cas de classification

Cross validation

L'objectif de cette méthode va être de séparer l'ensemble de


données en deux sous-ensembles.

39
Le premier sera réservé à l'apprentissage du modèle, tandis que l'autre
va servir à tester ce modèle pour ainsi l'évaluer. Le sous-ensemble de
données d'apprentissage est très généralement plus grand que celui du
test. On constate une proportion de 80 Après classification, on sera
mené à comparer ces nouvelles étiquettes prédites avec les vraies
étiquettes pour connaître le taux de bonne classification et donc la
qualité du modèle. En croisant, les étiquettes réelles des individus avec
leur nouvelle étiquette prédite par le modèle, il sera possible de mettre
en place une matrice de confusion.

Figure 10: Train_test_split

Matrice de confusion :

Une matrice de confusion ou tableau de contingence est obtenues


en comparant les données classées (predicted) avec des données de
référence (actual) qui doivent être différentes de celles ayant servi à
réaliser la classification. Elle se construit en mettant respectivement sur
les lignes et sur les colonnes les données de référence et la classification.

Figure 11: Matrice de confusion

40
TP = True Positive (Vrais positifs) : Nombre d'observations bien prédits
dans la catégorie 1.

FP = False Positive (Faux positifs) : Nombre d'observations prédites dans


la catégorie 1, alors que réellement elles n'en font pas partie

FN = False Negative (Faux négatifs) : Nombre d'observations prédites


dans la catégorie 0, alors que réellement elles n'en font pas partie

TN = True Negative (Vrais négatifs) : Nombre d'observations bien


prédits dans la catégorie 0.

Figure 12: Métriques

Par exemple, prenons notre cas ; il se peut qu’un expert traite un


dossier sans modifier son statut général comme dossier traité d’où il faut
clôturer ce dernier, aussi dans des cas il oublie de saisir le montant
d’indemnité, etc. C’est pour ce besoin que j’ai développé un modèle ML
permet de détecter ces types d’anomalie.

- Precision : est une bonne mesure pour déterminer quand les coûts des
faux positifs sont élevés. Par exemple là dans la détection des anomalies,
un faux positif signifie qu'un dossier qui n'est pas anomalie a été
identifié comme anomalie, il existe d’autres types de faux positives que
je vais les détailler dans les chapitres suivants.

41
L’expert peut perdre des dossiers importants si la précision n'est pas
élevée pour le modèle de détection des anomalies.

- Recall : calcule réellement le nombre de positifs réels que notre


modèle capture en le qualifiant de positif (vrai positif). En appliquant la
même compréhension, nous savons que le rappel sera la métrique du
modèle que nous utilisons pour sélectionner notre meilleur modèle
lorsqu'il y a un coût élevé associé au faux négatif. Par exemple, dans
notre cas si un dossier anomalie est prédit comme non anomalie la
conséquence peut être très mauvaise pour l’entreprise.

- F1 Score : est nécessaire lorsque vous souhaitez rechercher un


équilibre entre la précision et le rappel.

=> Un bon model d’apprentissage automatique (ML) doit avoir une


Preision et un Recall élevés, d’où un F1 Score élevé.

Courbe ROC :

Afin de visualiser la performance d'un modèle statistique, il est


recommandé d'utiliser la courbe ROC (Receiver Operating
Characteristic). Cette courbe représente la sensibilité en fonction de la
spécificité. Cependant cette courbe ne s'applique qu'à des problèmes
binaires ; c'est-à-dire uniquement la classe qui ne comporte que deux
catégories.

2.3.2 Autres facteurs

Un modèle peut aussi être considéré comme bon selon :

- La durée d'apprentissage : le nombre de minutes ou d'heures


nécessaires pour l'apprentissages d'un modèle varie beaucoup selon les
algorithmes. La durée d'apprentissage est souvent étroitement liée à la
précision (plus de précision => plus de temps).

42
- La linéarité : un grand nombre d'algorithmes d'apprentissage
automatiques utilisent la linéarité. Les algorithmes de classification
linéaire supposent que les classes peuvent être séparées par une ligne
droite, mais ce n’est pas toujours le cas.

Dans ce chapitre on a présenté des notions importantes qui sont en


relation avec la Business Intelligence (datawarehousing, ETL, reporting,
outils …), et Aussi une vision générale sur l'apprentissage automatique
ML (définition, architectures, algorithmes, etc…). Le prochain chapitre,
traite les détails de la conception, ainsi que les méthodes et le système
utilisé par l’entreprise.

43
Chapitre 3 : Conception
de la solution

44
Plus haut dans ce document, la problématique résidait dans le fait
que dans le domaine de l'assurance, les sinistres automobiles
connaissent une croissance explosive et deviennent plus lourds à gérer.
L'objectif serai alors de concevoir un système décisionnel pour pouvoir
effectuer des interrogations et des analyses afin d’avoir une meilleure
prise de décision à travers des rapports automatisés, puis l’exploitation
de ces données en vue de générer des modèles de détection des
anomalies et du statut général.

Pour avoir une idée sur le système utilisé par l’entreprise, ce


tableau décrit les outils utilisés dans ce dernier :

Site Info
Vtiger Est un site web permet la gestion des dossiers sinistres
par les gestionnaires et les experts.
Est un site web pour la récupération des dossiers
Expertis sinistres et les informations sur les assurés envoyées
de la part de RMA assurance.
Integromat Est une plateforme d’intégration basée sur le web
pour connecter les applications cloud et les APIs.
GCP Est une plateforme de cloud computing utilisée dans
notre cas pour le déploiement des fonctions Python.
Google Drive Est une plateforme de stockage et de partage des
fichiers dans le cloud de Google.
Zoho Analytics Est une plateforme pour l’analyse et le Reporting
basée sur le web.
Tableau 2: Système utilisé par l'entreprise

45
3.1 Conception préliminaire du système

Dans cette partie nous allons exposer l'idée générale et la


conception initiale du projet. Le besoin cité dans la problématique
reposait sur l'amélioration des méthodes traditionnelles d’analyse et de
reporting qui commencent à perdre en terme d’efficacité face aux
données massives qui nécessitent des traitements rapides en temps réel.
D'un point de vue architectural, on souhaite que le système décisionnel
se compose de cinq grandes phases. Cette décomposition a été
optimisée pour répondre aux besoins tout en respectant les conditions
telles que la rapidité du traitement, les ressources matériels, etc. On
décrit ces phases par :

- Phase de collecte des données : Les données sont importées à partir


des différentes sources de données, qui sont stockées dans des fichiers
Spreadsheets (fichiers Excel stockées dans Google Drive) ou des fichiers
JSON …, et exportées à travers des API’s.

- Phase de prétraitement des données : Cette étape se compose de


deux sous phases : Nettoyage et Qualification, ce tableau englobe les
traitements de chaque phase :

Phase Traitement Avant Après


- Enlever les caractères 458*7-B/42 4587B42
spéciaux (- , / "_ …)
- Enlever les zéros de début 00058B42 58B42
- Enlever les "WW" à la fin WW85692WW WW85692
- Enlever les "EAD" du début EAD5698B42 5698B42
- Enlever les immat qui 78523645 -
Nettoyage des contiennent que des chiffres
immatriculations - Enlever les immat qui
contiennent que des ABCDBBD -
alphabets
- Ajouter un zéro après le 4587B7 4587B07
caractère d’immat

46
- Rendre la datte de la forme 25-05-2020 25/05/20
=> jj/mm/aa

- Rendre les jours et les mois 8-6-2019 08/06/19


en deux caractère
Nettoyage des
dates de sinistre - Corriger l'année en se basant
sur la date de création
25-05-1980 25/05/2020
Exemple:
Datesinistre: 25/05/1980
Date de création: 25/05/2020

Nettoyage de - Conserver que les chiffres 12565a89- 1256589256


25695682 95682
numéros de
sinistre
- Conserver que les chiffres 12565a89- 1256589256
- Vérifier la taille == 15 chiffres 25695682 95682
Nettoyage de
- Enlever les numéro Pol qui
numéros de 12564 -
commencent par zéros
police 0015365789985 -
665
Code - Prendre les 4 premiers 1256589256956 1256
chiffres de numéro Pol 82
intermédiaire
Qualification Cette phase consiste à compléter les données manquantes de
Vtiger par les données envoyées par RMA (Expertis)
Tableau 3: Nettoyage et Qualification des données

Parmi les limites des outils ETL (SSIS – IBM DataStage …) l’absence de
similarité entre les chaines de caractères, aussi l’absence de jointure par
un intervalle de date. En outre pour effectuer une jointure entre deux
tables de données il faut que les valeurs de jointure soient égales ce qui
n’est pas valable dans notre cas, ce tableau montre un exemple de deux
dossiers similaires qu’on n’arrive pas à rapprocher par les outils ETL :

Autres Immatriculation Date sinistre Nom assuré Autres


colonnes colonnes
… ...
Vtiger … 4587B7 27/05/1920 Raji …
Expertis … 4587B07 28/05/20 Raji …
Oussama
Tableau 4: Exemple de limite des outils ETL

47
C’est pour cette raison que j’ai choisi d’utiliser un script Python au lieu
des outils ETL, pour dépasser ses limites et réaliser des jointures plus
complexes qu’on va détailler dans le quatrième chapitre « Réalisation et
Mise en œuvre ».

- Phase de détection des anomalies : Il existe cinq types d’anomalies


comme ils sont mentionnés dans ce tableau :

Type d’anomalie Descriptif d’anomalie


Clôturer dossier Le dossier est traité, mais il est mentionné
comme non traité dans son statut général.
Manque montant Le dossier est mentionné comme traité,
mais il le manque le montant d’indemnité.
Vérifier Client OK avec Le dossier est mentionné comme traité,
chiffrage ? mais le client n’a pas accepté le chiffrage.
Vérifier OK pour Le dossier est mentionné comme traité,
souscription mais la souscription est vide.
Vérifier Statut garage Le dossier est en cours de réparation, mais
avec un statut garage erroné.
Tableau 5: Type d'anomalie

C’est pour cela que j’ai créé un modèle de Machine Learning supervisé
qui permet la détection des anomalies pour déclencher ces types
d’anomalies et rectifier les erreurs des experts, aussi automatiser la
saisie du statut général des dossiers sans l’intervention de l’expert.

- Phase d’intégration des données et reporting : Dans cette phase et


après la génération du fichier résultant (nettoyé, qualifié et avec le
statut généré par le modèle), j’ai intégré ce fichier dans un outil
d’analyse et de reporting à savoir ZOHO Analytics qui permet
l’intégration continue des données en planifiant l’importation. Puis le
développement des rapports automatisés en temps réel, et les partager
avec les experts et les gestionnaires à travers les sites de l’entreprise.

48
- Phase d’encapsulation et d’automatisation : Cette étape a pour but
d’automatiser toutes les dernières phases en encapsulant les codes
utilisés dans des Web Services et les intégrant dans des outils de
déploiement et d’automatisation des services à savoir GCP et
Integromat.

3.2 Modélisation du système

Avant de réaliser notre programme informatique, nous allons créer


plusieurs diagrammes de modélisation. Ces derniers vont nous
permettre de recueillir, d'analyser et d'organiser les besoins sans oublier
de recenser les grandes fonctionnalités du système.

3.2.1 Diagramme de cas d'utilisation

Ce diagramme va nous permettre de signaler les besoins des


utilisateurs du système, et constitue donc une vision sur l'interaction
entre le système et les acteurs (utilisateurs humains et/ou non
humains). Les acteurs qui demandent des services aux systèmes sont
dits acteurs primaires, tandis que ceux qui sont sollicités par le système
sont dits acteurs secondaires.

Pour l'instant, ce système n'interagit qu’avec deux acteurs. L’un d'eux


représente un acteur secondaire (expert / gestionnaire sinistre), tandis
que l’autre représente un acteur primaire (Data Scientist / BI Analyst). La
conception du système étant extensible. Les acteurs primaires sont :

49
- Data Scientist / BI Analyst : La personne responsable de la collecte, le
nettoyage et l’intégration des données, le développement des rapports,
ainsi que la création et la modification des modèles ML.

- Gestionnaire Sinistres / Expert : C'est la personne qui crée les dossiers


de sinistre, et qui a l’accès pour visualiser les rapports en temps réel.

Figure 13: Diagramme de cas d'utilisation

3.2.2 Diagramme de séquence

Un diagramme de séquence est une représentation de façon


séquentielle du déroulement des traitements et des interactions entre
les éléments du système et/ou de ses acteurs.

La figure suivante, décrit le déroulement de toutes les phases suivies :

50
Figure 14: Diagramme de séquence

3.2.3 Diagramme d’activité

Les diagrammes d'activités permettent de mettre l'accent sur les


traitements. Ils sont donc particulièrement adaptés à la modélisation du
cheminement des flots de contrôle et des flots des données. Ils
permettent ainsi de représenter graphiquement le comportement d'une
méthode ou le déroulement d'un cas d'utilisation.

51
Dans la phase de conception, les diagrammes d'activités sont
particulièrement adaptés à la description des cas d'utilisation. Plus
précisément, ils viennent illustrer et consolider la description textuelle
des cas d'utilisation.

Figure 15: Diagramme d'activité

52
3.3 Benchmark sur les outils et les algorithmes

Afin de bien choisir l'outil d’analyse et de Reporting à utiliser, aussi


l’algorithme ML pour la détection des anomalies et du statut général, il
nous faut une étude comparative entre les outils BI et les algorithmes
ML.

3.3.1 Benchmark sur les outils de la BI

Voici une étude comparative entre les outils BI répondant à nos


besoins :

Outil Avantages Inconvénients


Associez facilement
plusieurs sources de
données
Utilisez la fonction glisser
déposer avec vos données Dans le cas d’un grand
afin de créer des nombre de lignes
Qlick Sense applications d'analyse d'informations ou s’il
entièrement interactives existe beaucoup de
Bénéficiez formules dans un rapport,
automatiquement de cela limitera la façon
suggestions d'informations d’interprétation.
générées par l’Intelligence
artificielle
Partagez et travaillez en
collaboration avec votre
groupe ou votre équipe
dans un environnement
gouvernable
Planifiez des actualisations
de données automatisées
Télécharger des données à
partir de feuilles de calcul et
de fichiers plats tels que
Microsoft Excel, CSV, HTML,
JSON, XML, de fichiers texte
et plus encore.

53
Obtenir des données à
partir de services de
stockage en ligne tels que
Zoho Docs, Google Drive,
Box, Dropbox et
Microsoft OneDrive.
Connection à des
applications ou des sites
ZOHO Analytics d’entreprise en ligne et hors Il faut gérer les relations
ligne à l’aide des API’s entre les différents types
d'importation de données d’entrée pour une analyse
et d’intégration. globale.

Suivie de l’évolution des


données avec les Snapshots

Appliquez des étiquettes de


sensibilité familières dans
les applications Office 365
telles que Word, Excel, Il faut gérer les relations
PowerPoint et Outlook aux entre les différents types
données Power BI. d’entrée pour une analyse
Étendez les stratégies de globale.
protection et de
POWER BI gouvernance aux données
Power BI, notamment aux
données exportées, avec
Microsoft Information
Protection.
Respectez mieux les
exigences réglementaires et
de confidentialité en
surveillant les données
sensibles via Microsoft Liaison complexe avec les
Cloud App Security. sources données non
Prévenez l’exposition des Microsoft
données sensibles en
bloquant, en temps réel, les
activités risquées des
utilisateurs avec Microsoft
Cloud App Security
Tableau 6: Etude comparative des outils de Reporting

54
Décision : On cherche à développer des rapports en temps réel donc
l’importation des données doivent être actualisée automatiquement
(planification d’extraction des données). On souhaite aussi suivre
l’évolution des dossiers sinistres par le temps (Snapshots). Toutes ces
options sont réalisables à travers l’outil ZOHO Analytics.

3.3.2 Benchmark sur les algorithmes Machine Learning

Voici une étude comparative entre les algorithmes d’apprentissage


automatique (ML) supervisés qui nous permettre la détection des
anomalies et du statut général.

Algorithme Avantages Inconvénients


- Bonnes performances en prédiction - Problème si le nombre de
Random - Pas de surapprentissage variables pertinentes est
- Paramétrage simple très faible
Forest
- Evaluation de l'erreur intégrée - Requiert des données
- Rapide en entraînement et en score étiquetées
- Capacité à traiter de grandes - Difficulté à traiter les
dimensionnalités grandes bases avec des
- Traitement des problèmes non observations très élevées
SVM
linéaires - Difficulté d'interprétations
- Robuste par rapport aux points - Requiert des données
aberrants étiquetées
- Non paramétrique
Logistic - Utile si la forme de régression est - Prévision délicate en
Regression totalement inconnue dehors du domaine
- Méthode adaptive qui s'ajuste - Généralisation difficile en
automatiquement régression multiple
- Robuste pour valeurs aberrantes - Requiert des données
KNN - Bonnes performances en prédiction étiquetées
- Prédiction lente
- Optimisation du
paramètre K
- Rapide en entraînement et en score - Suppose que les variables
Naive - Bonnes performances en prédiction indépendantes
- Facile à implémenter - La précision diminue
Bayes
lorsque la taille des
données est petite
Tableau 7: Etude comparative des algorithmes de ML supervisés

55
Décision : En effet, suite à une évaluation réalisée sous forme de
plusieurs tests de modèles, tous les modèles sont performants avec un
accuracy de 100% et F1 Score égal à 0.99. J’ai choisi le modèle de l’arbre
de décision pour valider le résultat du modèle avec l’expert car il est
simple et facile à interpréter, vous saurez quelle variable et quelle valeur
de cette variable est utilisée pour diviser les données et prédire le
résultat. Ces résultats seront mentionnés dans le chapitre suivant.

Dans ce chapitre nous avons donc abordé la description générale


du projet, ensuite nous avons mis en évidence le côté conceptuel
(diagrammes et scénarios) et les benchmarks à suivre, qui constituent
une étape fondamentale avant la réalisation du projet. Ceci a permet de
mieux comprendre les phases à suivre.

56
Chapitre 4 : Environnement
logiciel de la mise en œuvre

57
Ce chapitre est consacré à l’environnement logiciel et les packages
utilisés pour la mise en œuvre de la solution.

4.1 Packages utilisés

- Python : Python est un langage de programmation interprété,


multiparadigme et multiplateformes. Il favorise la programmation
impérative structurée, fonctionnelle et orientée objet. Il est doté d'un
typage dynamique fort, d'une gestion automatique de la mémoire par
ramasse-miettes et d'un système de gestion d'exceptions. C'est un des
composants principaux de ce système puisque toutes les phases sont
codées en python. La version utilisée est python 3.6 qui est compatible
avec la version de Google COLAB.

Figure 16: Logo Python

58
- Scikit-learn : Scikit-learn est une bibliothèque libre Python destinée à
l'apprentissage automatique. Elle est développée par de nombreux
contributeurs2 notamment dans le monde académique par des instituts
français d'enseignement supérieur et de recherche comme Inria3 et
Télécom Paris. Elle comprend notamment des fonctions pour estimer
des forêts aléatoires, des régressions logistiques, des algorithmes de
classification, et les machines à vecteurs de support. Elle est conçue pour
s'harmoniser avec d'autres bibliothèques libres Python, notamment
NumPy et SciPy. La version utilisée est Scikit-learn _0.23.1.

Figure 17: Logo Scikit learn

- NumPy : NumPy est une extension du langage de programmation


Python, destinée à manipuler des matrices ou tableaux
multidimensionnels ainsi que des fonctions mathématiques opérant sur
ces tableaux. Plus précisément, cette bibliothèque logicielle libre et open
source fournit de multiples fonctions permettant notamment de créer
directement un tableau depuis un fichier ou au contraire de sauvegarder
un tableau dans un fichier, et manipuler des vecteurs, matrices et
polynômes. La version utilisée est NumPy_1.18.4.

Figure 18: Logo Numpy

59
- Pandas : Pandas est une bibliothèque écrite pour le langage de
programmation Python permettant la manipulation et l'analyse des
données. Elle propose en particulier des structures de données et des
opérations de manipulation de tableaux numériques et de séries
temporelles. Les principales structures de données sont les séries (pour
stocker des données selon une dimension - grandeur en fonction d'un
index), les DataFrames (pour stocker des données selon 2 dimensions -
lignes et colonnes), les Panels (pour représenter des données selon 3
dimensions, les Panels4D ou les DataFrames avec des index
hiérarchiques aussi nommés MultiIndex (pour représenter des données
selon plus de 3 dimensions - hypercube). La version utilisée est
Pandas_1.0.3.

Figure 19: Logo Pandas

- Datetime : Le module datetime fournit des classes pour manipuler de


façon simple ou plus complexe des dates et des heures. Bien que les
calculs de date et d’heure sont supportés, l’implémentation est
essentiellement tournée vers l’efficacité pour extraire des attributs pour
les manipuler et les formater pour l’affichage.

Figure 20: Logo Date Time Python

60
- Distance de Jaro-Winkler : La distance de Jaro-Winkler mesure la
similarité entre deux chaînes de caractères. Il s'agit d'une variante
proposée en 1999 par William E. Winkler, découlant de la distance de
Jaro (1989, Matthew A. Jaro) qui est principalement utilisée dans la
détection de doublons. Le résultat est normalisé de façon à avoir une
mesure entre 0 et 1, donc zéro représente l'absence de similarité et 1,
l'égalité des chaines comparées. Cette mesure est particulièrement
adaptée au traitement de chaînes courtes comme des noms ou des mots
de passe.

Figure 21: Distance de Jaro

- RegEx : RegEx, ou expression régulière, est une séquence de caractères


qui forme un modèle de recherche. RegEx peut être utilisé pour vérifier
si une chaîne contient le modèle de recherche spécifié.

Figure 22: Logo Regex Python

61
- Pickle : module implémente un algorithme fondamental mais puissant
pour sérialiser et désérialiser une structure d'objet Python. «Pickling»
est le processus par lequel une hiérarchie d'objets Python est convertie
en un flux d'octets, et «unpickling» est l'opération inverse, par laquelle
un flux d'octets est reconverti en une hiérarchie d'objets.

Figure 23: Save & Load with Pickle

4.2 Logiciels utilisés

- Jupyter Notebook : Jupyter Notebook est une application Web open


source permettant de créer et de partager des documents contenant du
live code, des équations, des visualisations et du texte narratif. Il est
fortement utilisé en science des données pour le nettoyage et
transformation de données, simulation numérique, modélisation
statistique, visualisation, et apprentissage automatique, etc. La version
utilisée est Jupyter_4.1.1.

Figure 24: Logo Jupyter

62
- Google Colab : Google Colab ou Colaboratory est un service cloud,
offert par Google (gratuit), basé sur Jupyter Notebook et destiné à la
formation et à la recherche dans l’apprentissage automatique. Cette
plateforme permet d’entraîner des modèles de Machine Learning
directement dans le cloud. Sans donc avoir besoin d’installer quoi que ce
soit sur notre ordinateur à l’exception d’un navigateur. Ce qui nous a
aidé dans notre cas à mieux manipuler les données lors du Nettoyage et
apprentissage.

Figure 25: Logo Google Colaboratory

- Google Cloud Platform (GCP) : est une plateforme de cloud computing


fournie par Google, proposant un hébergement sur la même
infrastructure que celle que Google utilise en interne pour des produits
tels que son moteur de recherche. GCP fournit aux développeurs des
produits permettant de construire une gamme de programmes allant de
simples sites web à des applications complexes. Google Cloud Platform
fait partie d'un ensemble de solutions pour les entreprises appelé
Google Cloud, et fournit des services modulaires basés sur le cloud, tels
que le stockage d'informations, le calcul, des applications de traduction
et de prévision, etc...

Figure 26: Logo Google Cloud Plateform

63
- Integromat est une plate-forme d'intégration basée sur le Web pour
connecter les applications cloud et les API. Integromat fournit des
services d'intégration de systèmes depuis plus d'une décennie, dont le
but est d'offrir un outil d'automatisation capable de connecter presque
n'importe quel service ou application cloud.

Figure 27: Logo integromat

- Zoho Analytics : Zoho Analytics est un service de reporting en ligne qui


vous aide à analyser facilement vos données et à créer des rapports et
des tableaux de bord perspicaces pour une prise de décision éclairée.
Zoho Analytics propose diverses options pour importer les données que
vous avez dans des fichiers locaux, des URL Web, des lecteurs cloud
(feuilles de calcul Google, Google Docs, etc.), des bases de données
locales / cloud, des applications professionnelles populaires et de vos
applications personnalisées dans Zoho Analytics Workspaces pour votre
analyse en profondeur et rapports. Zoho Analytics offre un moyen très
simple et efficace de collaborer aux rapports avec vos collègues. Tout
utilisateur avec lequel vous partagez vos données, rapports et tableaux
de bord peut y accéder en ligne à tout moment et en tout lieu. Vous
pouvez également créer des groupes pour un partage et une
collaboration facile. Ce qui nous a aidé dans notre cas à analyser les
données en temps réel avec des rapports automatisés.

Figure 28: Logo Zoho Analytics

64
Chapitre 5 : Réalisation et
Mise en œuvre

65
Au terme de ce chapitre, on détaille l'infrastructure et l'architecture
finale du système ainsi que le processus par lequel les informations
passent. On y invoque également les algorithmes et les outils utilisés
dans ce système, et on finit par un exemple d'analyse et du Reporting et
un guide utilisateur.

5.1 Benchmark

Voici les principales étapes pour la réalisation de ce projet :

Figure 29: Benchmark

L'architecture du système traitée lors de la conception du système


(chapitre 3 Conception préliminaire du système 3.1) était jusqu'à
présent incomplète en raison de manque des outils utilisés, maintenant
que l'infrastructure a été mise en place, il est temps de détailler le
processus :

66
- Premièrement, j’ai commencé par le développement d’un script python
pour le nettoyage et le rapprochement des données ; j’ai choisi cette
méthode au lieu des outils ETLs, car il a fallu développer des fonctions
plus complexes inexistantes dans ces derniers (je vais bien les détailler
dans les parties prochaines dans ce chapitre).

- Puis à l’aide de la bibliothèque Python Scikit-learn, j’ai implémenté un


modèle de Machine Learning qui permet la détection des anomalies
concernant les dossiers existant en corrigeant le statut erroné, ou bien
pour les nouveaux dossiers en prédisant le statut.

J’ai encapsulé ces codes dans des fonctions HTTP sous l’outil GCP afin de
les intégrer dans un outil d’automatisation des services à savoir
Integromat.

- Après ces traitements, j’ai intégré les données dans l’outil ZOHO
Analytics afin de développer des rapports automatisés en temps réel
pour simplifier et optimiser les tâches des experts d’un côté, et de
l’autre pour permettre à l’entreprise de gagner au niveau de temps et de
chiffre d’affaire en traitant plus de dossiers. Pourquoi alors ZOHO
Analytics ? C’est pour les raisons suivantes : l’actualisation des données
automatique, l’accès aux différentes sources des données sans aucune
installation, le partage des rapports sous plusieurs forme (HTML, Mail,
URL …), le suivi de l’évolution des données à l’aide des Snapshots, etc.

5.2 Description des données

« Avant les algorithmes : les données, une fois qu’on a bien défini
cette problématique, on peut la transformer en problème de Data
Science ». Ainsi, dans le cas d'une assurance qui a forcément des
informations sur ses clients, ce qui va constituer le centre de nos
données d’analyse et d'entrainement. Toutes ces sources de données
devront être prétraitées, fusionnées et préparées, en suivant les étapes
décrites dans les chapitres précédents.

67
Les Données sont sous forme des fichiers Spreadsheet, Json ...,
notons bien que d'autres champs seront rajoutés, supprimés ou
modifiés après la phase de nettoyage et rapprochement, pour
l’entraînement du modèles ML.

On décrit la table des champs provenant de nos données comme


suit :

Champs Description Type


Case Number Identifiant de dossier dans le site String
Type Type de procédure choisie par l’assuré String
Contact Name Nom d’assuré String
Immatriculation Immatriculation de la voiture (ou bien camion, moto String
…) accidenté
Client OK avec Est-ce que l’assuré a accepté le chiffrage bool
chiffrage ?
OK pour Est-ce que l’assuré a accepté la souscription bool
souscription ?
Statut garage Statut de grage String
Indemnité Montant à payer Float
Assigned To Nom d’expert qui a traité le dossier String
Status Statut du dossier String
Created Date Date de création du dossier sur le site Date
Resolution Actual Date de résolution du dossier Date
Code Code d’intermédiaire Int
intermédiaire
Ville intervention Ville d’intervention String
Date sinistre Date de sinistre Date
Nom Nom d’intermédiaire String
intermédiaire
Date RDV Date de rendez-vous Date
Garage Garage de réparation String
Devis garage Devis envoyé par le garagiste Float
Date PEC Date de la prise en charge Date
Statut Détaillé Plus de détails sur le dossier String
Délai de Délai de traitement de dossier Int
traitement (h)
Cat traitement Catégorie du délai de traitement (un jour, une String
semaine, un mois …)
Statut générale Statut général du dossier String
Anomalie Type d’anomalie si c’est le cas. String
Tableau 8: Descriptif des champs des données utilisées

68
5.3 Réalisation de la partie ETL (Python)

Cette étape consiste au prétraitement des données comme il est


décrit au troisième chapitre (nettoyage + qualification) pour rendre les
données exploitables à l’analyse et au Reporting.

NB : j’ai développé tous les codes avec le langage de programmation


Python, pour répondre au besoin spécifié dans le chapitre 3 Conception
de la solution (3.1 Conception préliminaire du système)

- Collecte des données : Les données proviennent des fichiers


Spreadsheet (fichiers Excel stockés dans Google Drive) et Json.
L'importation sous Python se fait à l’aide des bibliothèques pandas,
gspread, auth … pour transformer les fichiers en des Dataframe.

- Nettoyage : Le but de cette étape est d’unifier la forme des


immatriculations, numéros de police, numéros de sinistre, code
intermédiaire et les dates de sinistres ..., sachant que ces champs sont
saisis manuellement par les experts, il faut donc gérer les fautes de
saisie. Pour les dates de sinistre, dans les données Vtiger elle est de la
forme « jj/mm/aaaa » et dans les données Expertise elle est de la forme
« mm/jj/aaaa », il l’en existe d’autres. Il faut unifier les dates sinistres en
une seule forme à savoir « jj/mm/aa », pour le rapprochement entre les
différentes sources des données.

- Similarité : J’ai développé des fonctions de similarité entre les noms


des assurés en utilisant l’indice de similarité jaro, aussi entre les dates du
sinistre en utilisant un intervalle entre les dates à l’aide de la
bibliothèque datetime.

69
Voici un exemple de similarité entre les noms pour se rendre compte de
l’importance d’unifier la forme des noms en une seule forme (nom +
prénom) :

Figure 30: Similarité entre les noms avec la distance de jaro

- Qualification : Cette étape consiste à compléter les champs vides et


erronés du fichier Vtiger par les données d’Expertise envoyées par RMA,
mais avant il faut nettoyer les immatriculations, numéros de police,
numéros de sinistre, code intermédiaire et les dates de sinistres, etc...
Puis effectuer des jointures entre les données Vtiger et celles d’Expertise
pour avoir finalement un seul fichier contenant toutes les informations
nécessaires. Le code suivant décrit les étapes suivies :

70
Pour conclure, cette étape permet de rassembler tous les fichiers
en un seul fichier homogène, nettoyé et qualifié. J’ai utilisé le langage
Python car il est facile à utiliser, avec une disponibilité décente des
bibliothèques et une grande communauté.

5.4 Détection des anomalies (ML)

Comme on l’a déjà cité dans le troisième chapitre, Il se peut qu’un


expert traite un dossier sans avoir modifier son statut en dossier traité,
ou dans d’autre cas, il peut le signaler comme traité alors qu’il ne l’ai
pas, etc. D’où le déclenchement des dossiers anomalies. Par conséquent
la problématique décrite dans ce cas repose sur la détection et la
prévention des anomalies, ainsi tous les modèles doivent prédire le type
anomalie pour faciliter la tâche de l’expert qui consiste à rectifier
l’erreur.

71
- Importation des bibliothèques et des données : Les données
proviennent du fichier généré après le nettoyage et la qualification,
l'importation sous python se fait à l’aide des bibliothèques pandas,
gspread, auth … pour transformer le fichier en Dataframe. Le code qui
suit décrit l’importation des bibliothèques nécessaires et des données :

- Corrélation et Normalisation

72
Figure 31: Matrice de corrélation « Anomalie »

La matrice de corrélation n’est pas claire à cause du grand nombre des


colonnes. Je n’ai choisi que les colonnes bien corrélées avec la colonne
label :

73
- Diviser les données en deux ensembles (Training & Test)

- Model de prédiction : Dans notre cas nous allons entrainer les


données par plusieurs algorithmes de classification, et le modèle le plus
performant sera sélectionné sur la base du calcul de plusieurs
paramètres d’évaluation définis. Les modèles de prédiction utilisés sont :

- Logistic Regression

- Decision Tree

- Random Forest

- SVM

- Naives bayes

- KNN

- Mesure de performance et évaluation du modèle : Parmi les


nombreuses méthodes d'évaluation de performances, on montre dans
l'exemple ci-dessous, notamment : la matrice de confusion, l'erreur et
l’accuracy et la précision, le rappel et F1-Score.

74
Les Matrices de confusion :

75
Figure 32: Les matrices de confusion « Anomalie »

Comparatif d’Accuracy, Precision, Recall et F1-Score :

Model Accuracy Precision Recall F1 Score


Random Forest 100 % 1 0.99 0.99
Naives Bayes 100 % 0.99 1 0.99
Logistic Regression 100 % 1 0.99 0.99
KNN 100 % 1 0.99 0.99
Decision Tree 100 % 0.99 1 0.99
SVM 100 % 1 0.99 0.99
Tableau 9: Comparatif des métriques

- Choix du model : Comme il est déjà prouvé tous les modèles sont
performants, avec un accuracy de 100 % et un F1 Score de 0.99, donc on
peut choisir n’importe quel modèle. Pour moi, j’ai choisi l’arbre de
décision pour valider le résultat du modèle avec l’expert car il est simple
et facile à interpréter, vous saurez quelle variable et quelle valeur de
cette variable est utilisée pour diviser les données et prédire le résultat.

76
- Visualiser l’arbre de décision

Figure 33: Arbre de décision 1

77
- Sauvegarde du Model et One Hot Encoder

5.5 Détection du statut général (ML)

Après la validation du modèle et ses résultats pertinents, j’ai créé un


autre model (Decision Tree), qui va automatiser le traitement manuel
réalisé auparavant par les experts. Ce modèle permettra de détecter le
statut général des dossiers sinistres en prenant en compte le type de
procédure, à savoir il faut détecter 110 statuts, et permettra aussi
d’éviter les erreurs produites par la saisie manuelle.

78
- Mesure de performance et évaluation du modèle
Matrice de confusion :

Comme vous voyez tous les éléments qui n’appartiennent à la diagonale


de la matrice de confusion sont nuls, d’où le modèle a bien prédit toutes
les classes.

Accuracy, Precision, Recall et F1-Score :

Model Accuracy Precision Recall F1 Score


Decision 100 % 0.99 0.99 0.99
Tree
Tableau 10: Métriques du modèle

79
- Sauvegarde du Model et Visualisation de l’arbre de décision

Figure 34: Arbre de décision 2

L’arbre de décision est invisible, il faut zoomer sur chaque partie. J’ai
déjà validé cette visualisation avec l’expert pour encapsuler le modèle
dans un Web Service.

80
5.6 Encapsulation et automatisation

Le but de cette étape est d’automatiser les tâches précédentes en


encapsulant les codes dans des outils d’automatisation (Google Cloud
Plateform – Integromat …), afin d’éviter toute intervention humaine.

5.6.1 Encapsulation sur Google Cloud Plateforme (GCP)

- Qu’est-ce que Cloud Functions : GPC est une plateforme cloud


qui fournit plusieurs services, parmi ses services Cloud Functions. Cloud
Functions est une solution de calcul légère permettant de créer des
fonctions autonomes à usage unique qui répondent aux événements
cloud sans avoir à gérer de serveur ni d'environnement d'exécution et
avec des langages de programmation différents tel que Python, NodeJS .

- Création des fonction http sur GCP : Après la création d’un


compte GCP, il faut premièrement créer un projet pour qu’on puisse
développer des fonctions sous ce dernier. Dans ce cas j’ai créé un
nouveau projet « VEOSERVICE ». Il faut saisir le nom de la fonction, puis
la mémoire allouée à cette dernière, le type de fonction ; on a choisi
« http » dans notre cas pour intégrer l’url http dans Integromat, ensuite
activer « l’autorisation des applications non authentifiées »,puis choisir
comme code source « éditeur intégré » ; dans le cas où vous
souhaiteriez programmer la fonction pendant la création, choisir
l’environnement d’exécution qui sera dans ce cas « Python »,
programmer après la fonction dans le fichier «MAIN.PY », spécifier les
bibliothèques nécessaires dans le fichier « requirement.txt », et
finalement mentionner le nom de la fonction à exécuter puis cliquez sur
« Créer ».

81
Figure 35: Création d'une fonction sur GCP

- Appel de la fonction http : Voici un exemple d’appel de la fonction


créée qui affiche dans le body le texte passé par l’argument « message »
de l’URL. Dans cet exemple le message passé en argument est « test
réussi »

Figure 36: Appel de la fonction http de GCP

82
5.6.2 Automatisation et liaison des tâches avec Integromat

- Liaison des tâches

Figure 37: Liaison des services sur integromat

- Ce schéma présente la liaison entre les différentes tâches réalisées par


l’outil d’automatisation Integromat, commençant par l’importation des
données de l’entreprise à l’aide de VTiger CRM, puis le nettoyage et la
qualification (le processus ETL), ensuite la détection d’anomalie et la
détection du statut général (le processus Machine Learning), l’exécution
de ces deux derniers processus se fait à l’aide du déclencheur des
fonctions http de GCP qui vient en troisième étape, et finalement la
sauvegarde du résultat dans un fichier Google Sheet (fichier Excel stocké
sur Google Drive).

83
- Scheduling / Planification d’exécution

Figure 38: Planification integromat

- Cette étape a pour but d’automatiser l’exécution des tâches


mentionnées précédemment en fixant un intervalle de chaque
exécution, dans ce cas j’ai choisi comme intervalle chaque jour à minuit.

84
5.7 Réalisation de la partie Reporting

- Intégration des données dans Zoho Analytics : Après la création


d’un compte ZOHO ANALYTICS Premium, Il faut se connecter et Choisir
la source des données (Google Drive dans notre cas) puis parcourir le
nom du fichier source sur Google Drive. Comme vous voyez
l’importation des données est faite avec succès, donc on peut créer des
rapports.

Figure 39: Intégration des données sur Zoho Analytics

- Synchronisation des données : Pour automatiser l’importation et


la rendre périodique, on doit sélectionner un intervalle pour
l’actualisation des données en Sélectionnant la feuille où se trouve les
données, puis choisir la façon d’importation, et finalement choisir
l’intervalle désiré.

85
Figure 40: Planification Zoho Analytics

- Création des rapports automatisés : Voici quelques exemples des


rapports crées (à savoir tous ces rapports sont actualisés chaque deux
minutes sans aucune intervention).

- Les dossiers traités et rejetés par procédure.

Figure 41: Exemple Reporting 1

86
- Cette carte présente les dossiers traités par ville, par type et par
temps :

Figure 42: Exemple Reporting 2

- Le rapport à gauche présente le coût moyen par mois, et le rapport à


droite présente les dix premières procédures choisies par les clients,
triées par le nombre de dossiers traités :

Figure 43: Exemple Reporting 3

87
- Partage des rapports : Après le développement des rapports
automatisés, on doit les partager avec les experts et les gestionnaires. Il
existe plusieurs types de partage (par mail, par lien …). Dans notre, cas
on a choisi de les partager par lien. Il faut rendre le rapport public pour
un accès sans authentification, puis partager le lien avec les experts et
les gestionnaires. Voici l’affichage du rapport par lien partageable sur
votre navigateur:

Figure 44: Partage des rapports

Dans ce chapitre, nous avons présenté les outils qu’on a utilisés, en


montrant leurs utilités et leurs rôles, aussi nous avons conçu et montré
le projet que nous avons réalisé. Dans cette phase, toutes les questions
concernant les étapes pour mettre en marche notre système ont été
élucidées.

88
Conclusion et perspectives
Le présent travail a porté sur l'élaboration d'un système décisionnel
qui consiste à créer des fonctions en Python permettant le nettoyage
des différentes sources des données et leur qualification afin de générer
un seul fichier résultant contenant toutes les informations nécessaires
pour une analyse complète, ainsi que le développement des modèles
d'apprentissage automatique (Machine Learning) qui permettent la
détection des anomalies d’un côté et les statuts généraux des dossiers
sinistres d’un autre côté, ensuite l’intégration des données dans un outil
d’analyse et de reporting à savoir Zoho Analytics afin de développer des
rapports automatisés pour le suivi des dossiers sinistres en temps réel,
et finalement l’encapsulation des codes utilisés dans des fonctions http
et leurs intégration dans des outils d’automatisation des services et des
API (GCP, Integromat) pour une intégration continue sans aucune
interventions humaines.

Cela va permettre à la compagnie de réduire le temps


d'investigation et de traiter plus de dossiers en un temps réduit.

Grâce à la diversité de ma mission, ce projet m’a permis d'apporter


des précisions sur des notions importantes qui sont en relation avec la
Business Intelligence, ainsi que les techniques d’apprentissage
automatique ML.

Le travail que j’ai réalisé pourrait être complété et poursuivi sous


différents aspects, notamment :

- La création d’une infrastructure Big Data pour stocker les


différentes sources et types des données d’une manière structurée
pour éviter l’utilisation de plusieurs outils.

- L’exploitation des images afin de créer des modèles DL de


détection des immatriculations, des cartes grises et des dégâts des
voitures accidentées, pour automatiser tout le processus
d’expertise.

89
Webographie

https://www.journaldunet.fr/business/dictionnaire-economique-et-
financier/1198853-assurance-definition-traduction/

https://gist.github.com/secsilm/4b11a8e91c138dcf9b3d64a0e14c8aa3

https://stackoverflow.com/questions/11218477/how-can-i-use-pickle-
to-save-a-dict

https://towardsdatascience.com/decision-tree-algorithm-explained-
83beb6e78ef4

https://medium.com/@rahul77349/feature-scaling-why-it-is-required-
8a93df1af310

https://www.geeksforgeeks.org/python-datetime-module-with-
examples/

https://www.analyticsvidhya.com/blog/2020/07/types-of-feature-
transformation-and-scaling/

https://www.kaggle.com/aldemuro/comparing-ml-algorithms-train-
accuracy-90

https://scikit-learn.org/

https://pandas.pydata.org/

https://cloud.google.com/

https://support.integromat.com/hc/en-us

https://www.zoho.com/analytics/

https://app.lucidchart.com/

90

Vous aimerez peut-être aussi