Vous êtes sur la page 1sur 62

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE

Ministère de l’enseignement supérieur et de la recherche scientifique


Université Larbi Ben M’hidi -Oum El Bouaghi
Faculté des sciences exactes et des sciences de la nature et de la vie
Département de mathématiques et informatique

Mémoire de fin d’étude présenté pour l’obtention du diplôme de


Master en informatique
Option : Vision Artificielle
Thème

Utilisation des techniques de l’apprentissage


automatique (Machine Learning) pour la
prédiction du Covid-19
Soutenu le : 04/07/2022
Présenté par :
▪ NECIB Fahima
▪ BOULEKHRAS Makhlouf
Devant le jury composé de :

DR Zertal soumia Président Université d’oum el bouaghi


Mr. Fayçal ZAIDI Encadrant Université d’oum el bouaghi
Dr Hamza lamia Examinateur Université d’oum el bouaghi

Année universitaire : 2021 /2022


Dédicace

A mes Mes chers parents, pour tous leurs sacrifices, leur amour,
leur tendresse, leur soutien et leurs prières tout au long de mes
études,
A mes frères et ma sœur

A celui qui m’a toujours soutenu, mon époux

A mes amis

NECIB Fahima

II
Remerciements

Tous mes remerciements s’adressent tous d’abord à tout puissant


ALLAH, d’avoir guidé mes pas vers le chemin du savoir.
Je tiens à exprimer ma profonde gratitude à notre encadreur :
DR .Zaidi faycel, pour ses conseils et ses encouragements qui nous ont
permis de réaliser ce travail dans les meilleures conditions.
Nous remercions sincèrement les membres du jury d'avoir accepter
d'examiner et d'évaluer notre travail.
Nous exprimons également notre gratitude a tous les professeurs et les
enseignants qui ont collaboré à notre formation depuis notre premier
cycle d'études jusqu'à la fin de notre cycle universitaire.
Sans oublier bien sur de remercier profondément tous ceux qui ont
contribue de prés ou de loin à la réalisation du présent travail.

MERCI A TOUS

I
Résumé

Dans ce mémoire nous avons présenté l'épidémie de Covid : sa


définition, ses symptômes, et comment elle se transmet ….etc. Nous avons
utilisé des algorithmes de l’apprentissage automatique pour réaliser une
application de prédiction du covid-19 ;
On a sélectionné 4 algorithmes de classification : L’arbre de décision ; Forêt
aléatoire ;K-ppv et la régression logistique et nous avons appliqué ces
algorithmes sur une base de données de covid-19 extrait de site web Kaggle.
chaque model de prédiction a une précision indique le pourcentage de bonnes
prédictions .
Mots-clés : Covid-19, intelligence artificielle, Machine Learning,
algorithmes de l’Apprentissage automatique, prédiction.

Abstract
In this thesis we have presented the Covid epidemic: its definition, its
symptoms, and how it is transmitted….etc. We used machine learning
algorithms to make a covid-19 prediction application; We selected 4
classification algorithms: Decision tree; Random Forest; K-NN and Logistic
Regression and we applied these algorithms on a covid-19 data-set extracted
from the Kaggle website. Each prediction model has an accuracy indicating
the percentage of correct predictions.
Keywords: Covid-19, artificial intelligence, Machine Learning, Machine
Learning algorithms, prediction.

‫ملخص‬
‫ اخااتا ن‬. ‫ الاا‬.… ‫ تعريفااو ورارا ااو وة اا ينتقاا‬:91- ‫تطرقناا فااه هاا الماا ةرإ ىلاا وباا ك ةيف اا‬
: ‫ خيارز اا تياان‬4 ‫ ؛اختر اا‬91- ‫الااتع ا ايلااه ء تاا ك تطب اام تنبااي بماار ةيف اا‬ ‫خيارز اا‬
‫ واال حاا ار ال يتيااته وقمناا بتطب اام هاا الايارز اا ا اا‬K-ppv ‫شااةرإ القاارار ؛ الغ باا العتاايا ؛‬
‫ لكااا مااايؤ تنباااي إقااا تتااا ر ىلااا النياااب‬.Kaggle ‫ المياااتارت ااا يقااا‬covid-19 ‫ق اااا إ ب ااا‬
. ‫المئيي ل تنبيا اليح ح‬
.‫ التنبي‬، ‫التع ا ايله‬ ‫ خيارز‬، ‫ التع ا ايله‬، ‫ ال ة ك االصطن اه‬،91- ‫ ةيف‬:‫الكلمات الرئيسية‬

III
Sommaire :

Remerciement……………………………………………………….……..…………..I
Dédicace…………...………………….……………………………………..………..II
Résumé…………..…..…………..………………………….…………………..……III
Sommaire
Liste Des Tableaux
Liste Des Figures
Introduction Générale
Chapitre 01 : Covid 19

1- INTRODUCTION………………………………………………………….…5
2- Définition de la Covid-1…9 ……………………..……………………………5
2-1 coronavirus …………...…………..………………………………………5
2-2 Covid-19 ………………...……..…………………………………………6
2-3 Transmission………………..……..….…………………………………...8
2-4 les symptômes du Covid..-19 …………………………………..…...8
3- Les varient de covid-19 ………….……………………………………….…..9
4- les vaccin…………………………...……………………...………………...13
5- covid-19 en Algérie ..…………… ………………………..………………...13
6- Conclusion …………………………………………………………………..14
Chapitre 01 : L’apprentissage automatique

1-Introduction..………………………………………………………………….16
2 - Apprentissage automatique ..……… ………….………………………….....16

3- Domaines Applications …………………………………………...……….....17

4- les types d'apprentissage automatique………….…….……………………....18

4-1- Apprentissage Supervisé ……………….………………………………..19

4-2- Apprentissage Non-Supervisé ……….….………………………………20


4-3 -L’apprentissage machine par renforcement ou auto-supervisé....……..21
5- Les algorithmes de l'apprentissage automatique ……………………………22
5-1 La régression logistique………………………………………….……..23
5-2 K nearest neighbors (KNN)………………………………………..…….25
5-3- Decision Trees (Arbre de décision)……………………………………28
5-4Random Forest (forets aléatoires)……………………………………..….31
6- Conclusion…………………………………………………………………..33
Chapitre 03 : Implémentation ;résultats et discussion
1- Introduction………………………………………………………….……..35
2- L’environnement de développement ……………………………………….35

2-1 python ………………………………………………………………..….35

2-2 Spyder ……………………………………………………………………35


2-3 Tkinter ………………………………………………………..……….36

3 - Base de données ……………………………………………….…………….36

3-1 Définition l'ensemble de données utilisée ………………………..…….36

3-2 visualisation et prétraitement de données……………………………….37


3-3 Répartition des données de train/test -Train/Test Split………………….37
4- Résultats et discussion ……………………………………………………….38

4-1 Algorithme decison tree…………………………………………………...39

4-2 Algorithme Random forest………………………………………………..40

4-3 Algorithme K-NN…………………………………………………………42

4-4 Algorithme Logistique Regression………………………………………..43

5- Application……………………………………………………………………45

5.1 L'interface de l’application………………………………………………46


5-2 Exemple cas positif ……………………………………………………....47
5-3 Exemple cas négatif ……………………………………………………...48

6-Conclusion …………………………………………………………………….49

Conclusion géénarale
Biblioghraphie
Liste Des Tableaux

Chapitre 1 : Covide-19

Tableau 1-1 les variants dits « préoccupants »


P 11

P 12
Tableau 1-2 les variants à suivre

Chapitre 3 : Implémentation ; résultats et discussion

Tableau 3-1 matrice de confusion pour l’algorithme « P 39


arbre de décision »

Tableau 3-2 matrice de confusion pour l’algorithme P 41


« Random forest»

Tableau 3-3 matrice de confusion pour l’algorithme « K- P 42


NN»

Tableau 3-4 matrice de confusion pour l’algorithme P 44


«Logistique Régression »
Table des figures :
Chapitre 1 : Covid19
Figure 1.1. Coronavirus humains …………………………………………6

Figure 1.2 Le cycle infectieux d'un coronavirus …………………..……..7

Figure 1.3 Comment se transmet le coronavirus………………….………8

Figure 1.4 Les symptômes ………………………………….………….…9

Figure 1.5 Les variants du Covid-19……………………….………….….10

Figure 1.6 Covid-19 en Algerie……………………………………...…...14

Chapitre 2 : L’apprentissage automatique

Figure 2-1 L'apprentissage automatique……………………………….…17

Figure 2-2 Applications de l'apprentissage automatique………………....18

Figure 2-3 Types d’apprentissage automatique……………………..…….19

Figure 2-4 workflow d'un apprentissage supervisé ………………...…….20

Figure 2-5 Exemple apprentissage non supervisé……………………..….21

Figure 2-6 L’apprentissage par renforcement…………………………..22

Figure 2-7 Les algorithmes de l'apprentissage automatique …………….23

Figure 2-8 Sigmoid function…………………………………………….24

Figure 2-9 Exemple K-ppV :K=1……………………………………….27

Figure 2-10 Exemple K-ppV :K=3 ;7…………………………………….27

Figure 2-11 Structure de l'arbre de décision……………………………..29

Figure 2-12 Exemple arbre de décision……………………………….….30

Figure 2-13 Structure de foret aléatoire « random forest » …………….32

Figure 2-13 Un simple exemple sur l'algorithme random forest……….33

Chapitre 3 : implémentation ; résultats et discussion

Figure 3.1 Aperçu de l'ensemble de données…………………………....37

Figure 3.2 Répartition des données de train/test…………………………38

Figure 3. 3 Code pour Fractionnement de l’ensemble de données……….38


Figure 3-4 Code arbre de décision……………………………..…………39

Figure 3-5 Résultats de l’algorithme arbre de décision…………….……39

Figure 3-6 Code Random forest………………………………….……….41

Figure 3-7 résultats de l’algorithme Random forest ……………………..41

Figure 3-8 Code du modèle K-NN………………………………………..42

Figure 3-9 Résultats du modèle K-NN…………………………….……..42

Figure 3-10 Code du modèle Logistique Regression……………..………43

Figure 3-11 Résultats du modèle Logistique Regression…………………43

Figure 3-12 Accuracy des 4 modèles utilisés……………………………..44

Figure 3-13 Interface de l’application………………………...…………..45

Figure 3-14 Exemple cas positif…………………………………………..46

Figure 3-15 Exemple cas négatif…………………………………………..47


Introduction générale :

La nouvelle pandémie de maladie à coronavirus 2019 (COVID-19) causée


par le SRAS-CoV-2 continue de représenter une menace critique et urgente
pour la santé mondiale. L'épidémie de début décembre 2019 dans la province
du Hubei en République populaire de Chine s'est propagée dans le monde
entier.
Ses symptômes : de fortes fièvres et des difficultés pour respirer. Le Covid-
19 est donné par un coronavirus, un virus très contagieux. En quelques mois,
il a contaminé des millions de personnes à travers le monde, et causé la mort
de plusieurs milliers d’entre elles ; Cette pandémie continue de défier les
systèmes médicaux du monde entier.
Des modèles de prédiction combinant plusieurs caractéristiques pour
estimer le risque d'infection ont été développés, dans l'espoir d'aider le
personnel médical du monde entier à trier les patients, Ces modèles utilisent
ou se base sur l’apprentissage automatique.

L'intelligence artificielle (IA) est devenue le nouveau terme que l'on


entend tous les
jours ces dernières années, l'IA en général définit la capacité d'une machine
capable d'agir par elle-même et qui n'est pas explicitement programmée pour
reproduire des actions ou des fonctions qui sont généralement celles des êtres
humains. Aujourd'hui, on la retrouve dans nos machines informatiques, les
réseaux sociaux, les transports et dans le secteur médical. L'application de
l'IA en médecine permettant à la machine d'analyser les données par elle-
même et de fournir des estimations, dans le but de prédire de nombreuses
maladies afin que les médecins puissent intervenir le plus rapidement
possible pour réduire le risque
de complications des maladies sur la santé du patient et lutter contre la mort
prématurée.
L'apprentissage automatique est une discipline de l'intelligence artificielle
qui cherche à trouver un moyen de créer des programmes informatiques qui
s'améliorent automatiquement avec l'expérience.
Dans ce mémoire nous proposons une application basée sur des modèles
de l’apprentissage automatique qui prédit si une personne est infectée par
Covid-19 Selon les symptômes ; l’age ….. etc.
Notre problématique nous permet de définir le diagnostic médical comme un
processus de classification et l'utilisation de l'informatique devient de plus en
plus fréquente pour mettre en œuvre cette classification bien que la décision
de médecin soit le facteur le plus important dans le diagnostic. Les systèmes
de classification sont d'une grande aide car ils réduisent les erreurs dues à la
fatigue et au temps nécessaire au diagnostic.

2
Dans ce travail nous avons utilisé et appliqué des différents algorithmes de
classification d'apprentissage supervise (K nearest neighbors, Decision Trees,
Random Forest, logistique regression) aux data-set
« covid_early_stage_symptoms »

Ce travail est organise en trois principaux chapitres comme suit :


1. Le 1er chapitre présente un aperçu général sur la pandémie de maladie
à coronavirus 2019 (COVID-19
2. 2. Le 2ème chapitre donne un aperçu sur l'apprentissage automatique,
les algorithmes d'apprentissage supervise qui peuvent nous aider à
détecter l'apparition précoce du Covid-19
3. Le 3ème chapitre présente d'abord une étude technique dans laquelle
nous définissons l'environnement logiciel utilisé pour construire notre
application, puis une définition de la base des données utilisée.
Ensuite, les résultats sont présentées, et interprètes. Finalement nous
finissons par une représentation des interfaces d'application
d'apprentissage dans la prédiction du Covid-19.
A la fin, ce travail est clôturé par une conclusion générale résumant les
idées fondamentales.

3
Chapitre1 Covid-19

1 - INTRODUCTION

En décembre 2019, une maladie mystérieuse, a fait son apparition en Chine, dans la
ville de Wuhan. Ses symptômes : de fortes fièvres et des difficultés pour respirer. Le
Covid-19 est donné par un coronavirus, un virus très contagieux. En quelques mois, il a
contaminé des millions de personnes à travers le monde, et causé la mort de plusieurs
milliers d’entre elle.

Quand arrive une maladie très contagieuse, comme celle causée en ce moment par le

coronavirus, trois questions principales se posent : que sait-on de ce nouveau virus ?

Comment est-il apparu ? Comment lutte-t-on contre l’épidémie de Covid-19 ? Découvre


les réponses dans ce chapitre.

2-Définition de la Covid-19 :

2-1 coronavirus :
Les coronavirus font partie d’une famille de virus variés susceptibles d’être à l’origine
d’un large éventail de maladies. Leur nom signifie « virus en couronne » et vient du fait
qu'ils possèdent tous un aspect en forme de couronne lorsqu'ils sont observés au
microscope.
Ces virus à ARN peuvent infecter aussi bien l’homme que l’animal et possèdent un taux de
mutation élevé à l'instar de celui de la grippe ou du virus VIH. Les coronavirus sont aussi
zoonotiques, c’est-à-dire qu’ils se transmettent de l’animal à l’homme. Des enquêtes
détaillées ont révélé que le SARS-CoV se transmettait de la civette, un petit mammifère, à
l’homme et le MERS-CoV du dromadaire à l’homme. On connaît plusieurs coronavirus qui
circulent chez certains animaux, mais qui n’ont pas encore infecté l’homme.
Chez l’homme, les manifestations de l’infection vont du simple rhume à une infection
pulmonaire sévère, responsable d’une détresse respiratoire aiguë. Les coronavirus ont été
identifiés pour la première fois chez l'humain dans les années 1960.
Depuis trois coronavirus ont entraîné des épidémies graves :
 le SRAS-CoV (pour syndrome respiratoire aigu sévère), responsable d’une épidémie
mondiale entre novembre 2002 et juillet 2003,
 le MERS-CoV (pour Middle East respiratory syndrome), découvert pour la première
fois en 2012 au Moyen-Orient.
le SRAS-CoV-2, à l'origine responsable de la première pandémie liée à un coronavirus en
2020. [1]

2-2 Covid-19 :
Le Sars-CoV-2 est le nom officiel du nouveau coronavirus identifié le 9 janvier 2020
dans la ville de Wuhan, chef-lieu de la province du Hubei en Chine. D'abord appelé

5
Chapitre1 Covid-19

coronavirus de Wuhan ou 2019-nCoV, le nom a été proposé par International Committee


on Taxonomy of Viruses, l'organisme en charge de la classification des virus.
Il est l'agent étiologique de l'épidémie de pneumopathie infectieuse qui s'est répandue en
Chine et dans le monde à partir de fin décembre 2019. Cette maladie a été nommée Covid-
19 par l'OMS, le 11 février 2020. [2]

Figure 1-1. Coronavirus humains. [3]

La figure montre sept coronavirus humains, leurs origines, leurs réservoirs


naturels, leurs hôtes intermédiaires, le tropisme des tissus/organes et la
zoonose inverse, ainsi que les événements zoonotiques primaires et potentiels
secondaires et tertiaires. Un signe interrogatif (?) indique inconnu ou non
identifié. [3]

6
Chapitre1 Covid-19

Le Sars-CoV-2, septième coronavirus humain C'est un virus enveloppé


à ARN simple-brin linéaire de la famille des bétacoronavirus dont le génome fait 29.903
paires de base. Tout comme le Sars-CoV, agent étiologique du Sras, il fait partie du sous-
genre des Sarbecovirus. S'ils sont proches génétiquement, ces deux virus sont tout à fait
distincts. Il n'existe que sept souches de coronavirus humaines.
Le réservoir naturel du Sars-CoV-2 semble être la chauve-souris. Plusieurs hypothèses ont
été émises concernant l'hôte intermédiaire du virus, notamment celles du serpent et
du pangolin, mais aucune n'a été validée avec certitude.
Le Sars-CoV-2 utilise la même porte d'entrée dans les cellules que Sars-CoV, le
récepteur ACE2 sur les cellules épithéliales. La protéine S (pour spike) sur l'enveloppe du
virus a une affinité suffisante avec ACE2 pour permettre l'entrée du virus dans la cellule.
À l'intérieur de celle-ci, l'ARN viral est répliqué par une polymérase virale. Les étapes
de transcription et de traduction nécessaires à la formation des protéines sont assurées par
la machinerie cellulaire. Le virus s'assemble dans le réticulum endoplasmique, puis migre
vers la membrane plasmique dans des vésicules pour bourgeonner et infecter d'autres
cellules.

Figure 1-2 Le cycle infectieux d'un coronavirus. [2]

Le virus entre dans la cellule et libère son ARN génomique de polarité positive. Celui-ci est
répliqué en deux brins : un brin de polarité positive qui sera encapsidé dans les virions et un
brin de polarité négative qui servira de matrice à la synthèse des protéines virales. Le virus
s'assemble dans le réticulum endoplasmique rugueux et est transporté vers la membrane
plasmique par une vésicule golgienne. Il bourgeonne et infecte une nouvelle cellule.

7
Chapitre1 Covid-19

2-3 Transmission

Comment se transmet le coronavirus ?


Les coronavirus se transmettent d'homme à homme lors de contacts rapprochés dans un
espace confiné à moins d’un mètre et/ou pendant plus de 15 minutes.
Il existe deux modes de transmission :
 par voie aérienne : les postillons propagés lors d’une toux, d’un éternuement ou
d’une discussion,
 par contact physique : comme une poignée de main ou un baiser. Ou par de biais de
surfaces contaminées (poignées de porte, claviers, rampe d’escalier…).[1]

Figure1-3 Comment se transmet le coronavirus [4]

2-4 les symptômes du Covid-19 :


 Les signes courants d’infection sont la fièvre, la toux, le nez qui coule, une fatigue
intense, des douleurs musculaires inhabituelles, une sensation d'oppression ou
d’essoufflement et des difficultés respiratoires. Dans les cas plus graves,
l’infection peut provoquer une pneumonie, un syndrome respiratoire aigu sévère,
une insuffisance rénale et même la mort.
 La maladie reste bénigne dans 80 % des cas et les chercheurs estiment le taux global
de mortalité du virus à environ 3,2 %. Certains patients présentent également une

8
Chapitre1 Covid-19

forme asymptomatique du virus : ils sont porteurs du virus, mais ne présentent pas de
symptômes. [1]

Figure 1-4 les symptômes du Covid-19 [5]

3- Les varient de covid-19 :


Le variant d’un virus est un virus qui présente une ou des mutations génétiques par
rapport à sa forme d’origine.
L’apparition de variants au cours du temps est un processus naturel dans l’histoire des
virus, lié à la manière dont ces microorganismes se répliquent. Le matériel génétique du
virus est constitué d’un assemblage de molécules, les nucléotides, alignés les uns avec les
autres dans une séquence très précise. Lorsqu’il infecte la cellule, un virus doit copier son
matériel génétique fidèlement pour produire de nouvelles particules virales. A cette fin, il
possède des protéines (des enzymes) qui assemblent les nucléotides en respectant la même
séquence que le matériel génétique d’origine.
Seulement, ce système génère parfois des erreurs comme un ajout ou encore un oubli de
nucléotide. Et si elle n’est pas corrigée, cette erreur conduit à une « mutation » qui peut
aboutir à l’apparition d’un virus légèrement différent appelé variant. [3]

9
Chapitre1 Covid-19

Figure 1-5- les Variant de Covid-19 [6]

l’Organisation mondiale de la Santé a ainsi choisi de nommer les variants avec une lettre
issue de l’alphabet grec, suivant leur date d’apparition :

 Le variant « anglais » devient le variant Alpha ;


 Le variant « sud-africain » devient le variant Bêta ;
 Le variant « brésilien » devient le variant Gamma ;
 Le variant « indien » devient le variant Delta.

Deux types de variants vont ainsi être concernés par ces nouvelles appellations :

 les variants dits « préoccupants », c’est-à-dire les variants qui ont une transmissibilité
augmentée ou qui entrainent une sévérité de la pathologie plus élevée, des changements
dans les symptômes cliniques, ou encore qui sont capables d’influer sur les mesures prises
pour les contrôler et enrayer leur propagation. Les variants précédemment cités font partie
de cette catégorie . [7]

10
Chapitre1 Covid-19

Dénominatio Lignée Clade Clade Premiers Date de désignation


n de l’OMS PANGO• GISAID Nextstrain échantillons
répertoriés

Variant préoccupant : 18
Royaume-Uni, décembre 2020
Alpha B.1.1.7 GRY 20I (V1)
septembre 2020 Variant anciennement
préoccupant : 9 mars 2022

Variant préoccupant : 18
GH/501Y.V Afrique du Sud, mai décembre 2020
Bêta B.1.351 20H (V2)
2 2020 Variant anciennement
préoccupant : 9 mars 2022

Variant préoccupant : 11
GR/501Y.V Brésil, novembre janvier 2021
Gamma P.1 20J (V3)
3 2020 Variant anciennement
préoccupant : 9 mars 2022

Tableau 1-1 les variants dits « préoccupants [7]

11
Chapitre1 Covid-19

 Les variants dits « à suivre », qui présentent des mutations notables et qui sont
impliqués dans des cas multiples, des clusters, ou qui ont été détectés au sein de
plusieurs pays.

Dénominati Lignée Clade Premiers


Clade/Ligné Date de désignation
on de l'OMS PANG Nextstrai échantillons
e GISAID
O+ n répertoriés
Variant à suivre :
États-Unis
B.1.427 GH/452R.V 21C 5 mars 2021
Epsilon d’Amérique,
B.1.429 1 Variant anciennement à
mars 2020
suivre : 6 juillet 2021
Variant à suivre :
GR/484K.V 20B/S.484 17 mars 2021Variant
Zêta P.2 Brésil,
2 K anciennement à suivre :
avril 2020
6 juillet 2021
Variant à suivre :
Plusieurs
17 mars 2021
Êta pays,
B.1.525 G/484K.V3 21D Variant anciennement à
décembre 20
suivre :
20
20 septembre 2021
Variant à suivre :
GR/1092K. 24 mars 2021
Thêta P.3 21E Philippines,
V1 Variant anciennement à
janvier 2021
suivre : 6 juillet 2021
Variant à suivre :
États-Unis 24 mars 2021
GH/253G.V d’Amérique, Variant anciennement à
Iota B.1.526 21F
1 novembre 20 suivre :
20 20 septembre 2021
Variant à suivre :
4 avril 2021
B.1.617. Inde,
Kappa G/452R.V3 21B Variant anciennement à
1 octobre 2020
suivre :
20 septembre 2021
Variant à suivre :
Pérou, 14 juin 2021
GR/452Q.V
Lambda C.37 21G décembre 20 Variant anciennement à
1
20 suivre : 9 mars 2022
Variant à suivre : 30 août 2021
Colombie,
Mu B.1.621 GH 21H Variant anciennement à suivre :
janvier 2021
9 mars 2021

12
Chapitre1 Covid-19

Tableau 1-2 les variants à suivre [7]

4- Les vaccins :

Un accès équitable à des vaccins sûrs et efficaces est essentiel pour mettre fin à la
pandémie de COVID-19 ; il est donc extrêmement encourageant de voir autant de vaccins
en phase d'essai et de mise au point. L’OMS travaille sans relâche avec ses partenaires pour
développer, fabriquer et déployer des vaccins sûrs et efficaces.

Le fait d’être vacciné ne signifie pas qu’il faut renoncer à toute prudence, prendre des
risques et en faire prendre aux autres, notamment parce que les recherches sont toujours en
cours pour déterminer jusqu'à quel point les vaccins protègent non seulement contre la
maladie, mais aussi contre l’infection et la transmission

Plusieurs vaccins contre la COVID-19 ont été homologués par l’OMS (au titre du
protocole d’autorisation d’utilisation en situation d’urgence – Protocole EUL). Le premier
programme de vaccination de masse a commencé début décembre 2020

Au 26 novembre 2021, les vaccins suivants avaient obtenu l’autorisation d’utilisation en


situation d’urgence :

 Le vaccin Pfizer/BioNTech Comirnaty®, le 31 décembre 2020.


 Les vaccins SII/COVISHIELD et AstraZeneca/AZD1222, le 16 février 2021.
 Le vaccin Janssen/Ad26.COV 2.S mis au point par Johnson & Johnson, le 12 mars
2021.
 Le vaccin anti-COVID-19 de Moderna (ARNm 1273), le 30 avril 2021.
 Le vaccin anti-COVID-19 de Sinopharm, le 7 mai 2021.
 Le vaccin Sinovac-CoronaVac, le 1er juin 2021.
 Le vaccin COVAXIN (BBV152) de Bharat Biotech, le 3 novembre 2021. [8]

5- Covid-19 en Algérie :
En Algérie, covid-19 se propage à partir du 25 février 2020 lorsqu'un
ressortissant italien est testé positif au SARS-CoV-2.

À partir du 1er mars 2020, un foyer de contagion se forme dans la wilaya de Blida, seize
membres d'une même famille ont été contaminés par le coronavirus lors d'une fête de
mariage à la suite de contacts avec des ressortissants algériens en France. Progressivement,
l'épidémie se propage pour toucher toutes les wilayas algériennes. D'autres cas de Covid-
19 sont ensuite détectés.
Le graphe suivant représente:

13
Chapitre1 Covid-19

 Les cas confirmés


 Les décès
 Les nouveaux cas par jours
 Les nouveaux décès par jours

Figure 1-6 covid-19 en Algérie [9]

6-Conclusion :

Dans ce chapitre nous avons présenté la nouvelle pandémie du Corona Virus dites
covid-19, les symptômes, comment se transmet , les variants de covid -19 ainsi les
vaccins contre cette maladie.
Le Covid-19 est dangereux pour les raisons suivantes :
 il est très contagieux : chaque personne infectée va contaminer au moins 3 personnes
en l'absence de mesures de protection ;

14
Chapitre1 Covid-19

 une personne contaminée mais qui ne ressent pas encore de symptômes peut
contaminer d’autres personnes.

Dans le chapitre suivant, nous allons présenter c quoi l’apprentissage automatique
« Machine Learning » : la définition ; les types et les algorithmes particulièrement les
algorithmes de classifications utilisés dans notre application du prédiction de covid-19 .

15
Chapitre 2 L’apprentissage automatique

1- Introduction :
L'apprentissage automatique (machine learning en anglais), qui est l'un des sous-domaines de l'intelligence
artificielle, qui est axé sur la création de systèmes qui apprennent ou améliorent les performances en fonction
des données qu’ils traitent. L’intelligence artificielle est un terme large qui désigne des systèmes ou des
machines imitant l’intelligence humaine.
Pour permettre à la machine d’apprendre, nous utilisons :
1- Des données qui sont des exemples, relativement abondantes et compilées dans un tableau appelé Dataset à
partir desquels la machine va apprendre.
2- Des méthodes d’apprentissage fortement inspirées de la façon dont l’être humain apprend les choses. Les
méthodes d’apprentissage sont fonction de la nature du problème étudié
3- Un algorithme d’apprentissage qui est la procédure que l’on fait tourner sur les données pour obtenir un
modèle, en l’occurrence prédictif. Il existe plusieurs familles d’algorithmes à utiliser selon la nature du
problème étudié et la solution la mieux adaptée.
Dans le présent chapitre, nous commencerons par introduire les concepts fondamentaux du Machine Learning :
définition ; types et les algorithmes les plus utilisés.

2 - Apprentissage automatique :

Comme pour la plupart des termes utilisés dans le domaine de l’intelligence artificielle, il n’existe pas de
définition unique du "Machine Learning" (apprentissage automatique) :

 En termes simples, le Machine Learning consiste à utiliser des données pour répondre à des questions.
Plus formellement, il s’agit de l’utilisation d’algorithmes qui apprennent des modèles à partir de
données et sont capables d’exécuter des tâches sans être explicitement programmés pour le faire.
En outre, une caractéristique déterminante des systèmes d’apprentissage automatique sous-tend qu’ils
améliorent leurs performances grâce à l’expérience et aux données. En d’autres termes : ils apprennent.
[10]

Le machine Learning (ML) est un sous-ensemble de l’intelligence artificielle (IA) qui est axé sur la création de
systèmes qui apprennent ou améliorent les performances en fonction des données qu’ils traitent . [11]

16
Chapitre 2 L’apprentissage automatique

Figure 2-1 L'apprentissage automatique [11]

 L’apprentissage automatique c’est donner à la machine la capacité d’apprendre sans lui donner le calcul,
c-à-d sans la programmer de façon explicite. C’est la définition de l’apprentissage automatique selon
son inventeur Arthur Samuel et qui avait développé dès 1959 un programme pouvant apprendre tout
seul comment jouer au jeu de Dames.

 Une définition un peu plus moderne du machine Learning est à mettre au crédit de Tom Mitchell 7 qui
en 1998 annonçait qu’une machine apprend quand sa performance à faire une certaine tâche s’améliore
avec de nouvelles expériences.

 Le Machine Learning peut être défini comme l’application des méthodes statistiques sur les algorithmes
pour les rendre plus intelligents. [10]

3- Domaines Applications :
L'apprentissage automatique est utilisé dans un large spectre d'applications pour doter des ordinateurs ou des
machines de capacité d'analyser des données d'entrée comme : perception de leur environnement
(vision, Reconnaissance de formes tels des visages, schémas, segmentation d'image, langages naturels,
caractères dactylographiés ou manuscrits ; moteurs de recherche, analyse et indexation d'images et de vidéo, en
particulier pour la recherche d'image par le contenu ; aide aux diagnostics, médical
notamment, bioinformatique, chimioinformatique ; interfaces cerveau-machine ; détection de fraudes à la carte
de crédit, cybersécurité, analyse financière, dont analyse du marché boursier ; classification des séquences
d'ADN ; jeu ; génie logiciel ; adaptation de sites Web ; robotique (locomotion de robots, etc.) ; analyse
prédictive dans de nombreux domaines (financière, médicale, juridique, judiciaire).
Exemples :

 un système d'apprentissage automatique peut permettre à un robot ayant la capacité de bouger ses membres,
mais ne sachant initialement rien de la coordination des mouvements permettant la marche, d'apprendre à
marcher. Le robot commencera par effectuer des mouvements aléatoires, puis, en sélectionnant et
privilégiant les mouvements lui permettant d'av
 ancer, mettra peu à peu en place une marche de plus en plus efficace ;
 la reconnaissance de caractères manuscrits est une tâche complexe car deux caractères similaires ne sont
jamais exactement identiques. Il existe des systèmes d'apprentissage automatique qui apprennent à
reconnaître des caractères en observant des « exemples », c'est-à-dire des caractères connus. Un des
premiers système de ce type est celui de reconnaissance des codes postaux US manuscrits issu des travaux
de recherche de ‘Yann Le Cun’, un des pionniers du domaine , et ceux utilisés pour la reconnaissance
d'écriture ou OCR. [10]

17
Chapitre 2 L’apprentissage automatique

Figure 2-2 Applications de l'apprentissage automatique [12]

4- les types d'apprentissage automatique


Les algorithmes d'apprentissage peuvent se catégoriser selon le mode d'apprentissage qu'ils emploient.

18
Chapitre 2 L’apprentissage automatique

Figure 2-3 Types d’apprentissage automatique [13]

4-1- Apprentissage Supervisé :


L’apprentissage supervisé (supervised learning) s’intéresse aux données étiquetées. L’objectif
est de prédire l’étiquette (inconnue) y associée à une nouvelle observation x, à partir de
la connaissance fournie par les n observations étiquetées du jeu de données. [14]
En d’autres termes, la mission de l’apprentissage supervisé est la suivante :
Etant donné un ensemble d’apprentissage de N exemples de couples entrées-sorties
En={(x1,y1),…,(xn,yn)} , où chaque yj a été produit par une fonction inconnue
Y=f(x) , trouver une fonction h qui approche la vraie fonction f.
Ici x et y peuvent prendre toute valeur ; ce ne sont pas nécessairement des nombres réels .
La fonction h est une hypothèse. L’apprentissage est une recherche dans l’espace des hypothèses possibles,
d’une hypothèse qui se comporte bien, même sur des nouveaux exemples n’appartenant pas à l’ensemble
d’apprentissage. Pour mesurer l’exactitude de d’une hypothèse, on lui donne un ensemble de test contenant des
exemples distincts de ceux de l’ensemble d’apprentissage. On dit qu’une hypothèse généralise bien si elle prédit
correctement la valeur de y pour des exemples inédits. Quelquefois, la fonction f est stochastique –ce n’est pas
à proprement parler une fonction de x, et ce que l’on doit apprendre est une distribution de probabilité
conditionnelle, P(Y│x).
Lorsque l’ensemble des valeurs de sortie y est un ensemble fini (comme ensoleillé, nuageux ou pluvieux), le problème
de l’apprentissage s’appelle classification, et s’appelle «classification booléenne » ou« binaire » s’il n’y a que deux
valeurs. Lorsque y est un nombre réel (comme la température qu’il fera demain), le problème de l’apprentissage s’appelle
régression (techniquement, résoudre un problème de régression revient à trouver une espérance conditionnelle, ou valeur
moyenne de y, car la probabilité de trouver exactement la bonne valeur réel de y est 0). [15]
L’image ci-dessous présente le workflow d’un apprentissage supervisé :

19
Chapitre 2 L’apprentissage automatique

Figure 2.4 workflow d'un apprentissage supervisé[14]

Il existe deux types de modèles d’apprentissages supervisés : les modèles de régressions et les modèles de
classifications.

 Régression
Un modèle de régression permet de prédire une valeur quantitative. Cela signifie que l’ensemble des valeurs de
sortie Y qu’on essai d’estimer avec la fonction f est un ensemble de réels : Y⊂R.
Supposons qu’on veut créer un modèle f:X→Y qui prédit le prix d’une maison en sachant la surface en m2
Dans Cet exemple, X représente l’ensemble des surfaces des maisons et Y représente l’ensemble des prix.
Si on veut estimer le prix d’une maison de surface s, on calcule f(s).

 Classification
Un modèle de classification permet de prédire une valeur qualitative. Cela signifie que l’ensemble des valeurs
de sortie Y qu’on essai d’estimer avec la fonction f est un ensemble fini : Y={0,1,…,n}.
Exemple : On veut créer un modèle:! qui prédit si un patient P est infecté par le covid 19 ou non.
Dans Cet exemple, X représente l'ensemble des patients _a analyser et Y=0,1 ; 1 si le patient est infecté par
covid 19 et 0 sinon. Si on veut analyser un patient P, on calcule f(P) [16]

3.2 Apprentissage Non Supervisé :

A la déférence de l'apprentissage supervisé, le contexte non supervisé est celui ou l'algorithme doit opérer a
partir d'exemples non étiquetés. Il doit extraire automatiquement
les catégories a associer aux données qu'on lui soumet, les plus fréquents problèmes connu dans ce type est :
1. Le clustering qui consiste a regroupé un ensemble d'éléments hétérogènes sous forme de sous groupes
homogène.
2. La réduction de dimension qui consiste a prendre des données dans un espace de grande dimension, et _a les
remplacer par des données dans un espace de plus petite dimension sans perdre la variance. [14]

20
Chapitre 2 L’apprentissage automatique

Figure 2-5 exemple apprentissage non supervisé [14]

4-3 -L’apprentissage machine par renforcement ou auto-supervisé :

Le troisième type d’apprentissage machine est l’apprentissage machine par renforcement (aussi
appelé apprentissage auto-supervisé). Dans ce type d’apprentissage automatique, la machine apprend
par essais et erreurs. Contrairement aux deux autres types d’apprentissage machine, les systèmes
d’apprentissage auto-supervisés peuvent s’améliorer sans aucune supervision humaine.

L’apprentissage machine auto-supervisé est utilisé dans de nombreux domaines pour améliorer les systèmes.
L’un de ces domaines est la sécurité informatique, aussi appelée cyber-sécurité. Il est très important de
conserver en sécurité les données confidentielles, notamment les données utilisées par les banques et le
gouvernement. Pour tester un système de sécurité de données, l’apprentissage machine auto -supervisé peut
faire semblant d’être un pirate informatique et montrer ainsi aux humains les failles du système avant qu’un
vrai pirate ne les trouve!

Exemple bien connu est lorsqu’un humain se fait battre par un ordinateur à un jeu. Les ordinateurs peuvent
utiliser l’apprentissage machine auto-supervisé pour trouver le moyen le plus rapide de gagner à un jeu.
Deux ordinateurs peuvent même jouer l’un contre l’autre à l’aide de l’apprentissage machine auto-supervisé.
Par exemple, dans la vidéo suivante, tu verras comment des machines ont découvert une faille dans un jeu
vidéo. [17]

21
Chapitre 2 L’apprentissage automatique

Figure 2-6 L’apprentissage par renforcement [16]

5- Les algorithmes de l'apprentissage automatique :


Un seul algorithme ne répond pas à toutes les problématiques. Suivant le type de données et les objectifs
souhaités, certains modèles seront plus adaptés. Par exemple, un algorithme de régression linéaire est plus facile
à entraîner et à déployer que d’autres, mais il ne sera sans doute pas le meilleur pour réaliser des prédictions
complexes. [19]

22
Chapitre 2 L’apprentissage automatique

Figure 2-7 Les algorithmes de l'apprentissage automatique [16]

Les algorithmes les plus utilisés :

 la régression : linéaire univariée, linéaire multivariée, polynomiale, régularisé, logistique


 le théorème de Naive-Bayes
 le clustering : K-means, kNN
 les arbres de décision
 Random Forest (tree bagging / feature sampling)
 le Gradient Boosting (XGBoost)
 l’algorithme de Support Vector Machine
 l’Analyse en composantes principales

Concentrons-nous sur les algorithmes utilisés dans notre travail, qui sont très largement utilisés.
5-1 La régression logistique :
Définition
La régression logistique est un modèle statistique permettant d’étudier les relations entre un ensemble
de variables qualitatives Xi et une variable qualitative Y. Il s’agit d’un modèle linéaire généralisé utilisant
une fonction logistique comme fonction de lien.
Un modèle de régression logistique permet aussi de prédire la probabilité qu’un événement arrive
(valeur de 1) ou non (valeur de 0) à partir de l’optimisation des coefficients de régression. Ce résultat

23
Chapitre 2 L’apprentissage automatique

varie toujours entre 0 et 1. Lorsque la valeur prédite est supérieure à un seuil, l’événement est
susceptible de se produire, alors que lorsque cette valeur est inférieure au même seuil, il ne l’est pas.
Mathématiquement, comment ça se traduit/ça s’écrit ?
Considérons une entrée X= x1 x2 x3 … xn , la régression logistique a pour objectif de trouver une fonction h
telle que nous puissions calculer :
y= {1 si hX≥ seuil , 0 si hX< seuil}
On comprend donc qu’on attend de notre fonction h qu’elle soit une probabilité comprise entre 0 et 1,
paramétrée par =1 2 3 n à optimiser, et que le seuil que nous définissons correspond à notre critère de
classification, généralement il est pris comme valant 0.5.
La fonction qui remplit le mieux ces conditions est la fonction sigmoïde, définie sur R à valeurs dans [0,1].
Elle s’écrit de la manière suivante :

Graphiquement, celle-ci correspond à une courbe en forme de S qui a pour limites 0 et 1 lorsque x tend
respectivement vers -∞ et +∞ passant par y = 0.5 en x = 0.

Figure 2-8 Sigmoid function

La fonction h qui définit la régression logistique s’écrit alors :

24
Chapitre 2 L’apprentissage automatique

Tout le problème de classification par régression logistique apparaît alors comme un simple problème
d’optimisation où, à partir de données.
La fonction h qui définit la régression logistique s’écrit alors :

Tout le problème de classification par régression logistique apparaît alors comme un simple problème
d’optimisation où, à partir de données, nous essayons d’obtenir le meilleur jeu de paramètre Θ permettant à
notre courbe sigmoïde de coller au mieux aux données. C’est dans cette étape qu’intervient notre apprentissage
automatique. [20]

5-2 K nearest neighbors (KNN) :


L’algorithme des K plus proches voisins ou K-nearest neighbors (kNN) est un algorithme de
Machine Learning qui appartient à la classe des algorithmes d’apprentissage supervisé simple et facile
à mettre en œuvre qui peut être utilisé pour résoudre les problèmes de classification et de régression ;
son fonctionnement est de classer les nouveaux points de données en fonction de la similarité aux points de
données voisins
L’algorithme de k plus proches voisins ne nécessite pas de phase d’apprentissage à proprement parler, il faut
juste stocker le jeu de données d’apprentissage.
a) Principe de l'algorithme :
Soit un ensemble E contenant n données labellisées : E = {(yi , xi)} avec i compris entre 1 et n, où yi
correspond à la classe (le label) de la donnée i et où le vecteur 𝑥⃗i de dimension p (𝑥⃗i = (x1i , x2i , ..., xpi))
représente les variables prédictrices de la donnée i. Soit une donnée u qui n’appartient pas à E et qui ne possède
pas de label (u est uniquement caractérisée par un vecteur 𝑥⃗u de dimension p). Soit d une fonction qui renvoie
la distance- La distance la plus couramment utilisée est la distance Euclidienne (il existe d'autres : distance
Manhattan, distance Hamming, ...) - entre la donnée u et une donnée quelconque appartenant à E. Soit un entier
k inférieur ou égal à n.

Voici le principe de l’algorithme de k plus proches voisins :

▷ On calcule les distances entre la donnée u et chaque donnée appartenant à E à l’aide de la fonction d

▷ On retient les k données du jeu de données E les plus proches de u

▷ On attribue à u la classe qui est la plus fréquente parmi les k données les plus proches.

25
Chapitre 2 L’apprentissage automatique

b) Algorithme KNN (base apprentissage, k, inconnu) :

1. Pour chaque donnée dans la base d'apprentissage :


1. Calculez la distance entre l'inconnu et la donnée courante.
2. Mémoriser cette distance et la donnée associée dans une liste de couple (distance, donnée).
2. Triez la liste distance_Donnée du plus petit au plus grand sur les distances.
3. Choisissez les k premières entrées de cette liste.
4. Obtenir les étiquettes des k données de la base d'apprentissage sélectionnées.
5. Si régression, renvoyer la moyenne des étiquettes K.
6. Si classification, renvoyer l'étiquette majoritaire.

c) Choisir la bonne valeur pour K :


Pour sélectionner le K qui convient à nos données, nous pouvons exécuter plusieurs fois l'algorithme KNN
avec différentes valeurs de K et choisir le K qui réduit le nombre d'erreurs rencontrées tout en maintenant la
capacité de l'algorithme à effectuer des prédictions avec précision.
Exemple :
L’image suivante représente un ensemble de données de deux classes : classe A (étoiles on
rouge) et classe B ( triangles on vert) ; soit P1 le point pour lequel l'étiquette doit prédire .

 Dans K-NN, K est le nombre de plus proches voisins. Le nombre de voisins est le principal facteur
décisif. K est généralement un nombre impair si le nombre de classes est de 2.
Pour K=1
L'algorithme est appelé algorithme du « Plus Proche Voisin ». C'est le cas le plus simple. D'abord, vous trouvez
le point le plus proche de P1, puis l'étiquette du point le plus proche attribué à P1.

Figure 2-9 Exemple K-ppV :K=1 [21]

26
Chapitre 2 L’apprentissage automatique

 Alors le nouveau point P1 sera classé dans la classe A

Pour K=3 et K=7

Figure 2-10 Exemple K-ppV :K=3 ;7 [21]

 Si k=3 les données les plus proche du nouvelle donnée sont qui ont à l'intérieure
de premier cercle, et la classe la plus prédominante c'est triangle (Classe B) car 2 triangles et seulement 1 étoile
donc la donnée non classée sera classer un triangle (Classe B).
 Si k=7 les données les plus proches du nouvelle donnée sont qui ont à l'intérieure de deuxième cercle,
et la classe la plus prédominante c'est l'étoile (Classe A) car on a 4 étoiles et 3 triangles donc la donnée
non classée sera classer un étoile (ClasseA).

 La distance entre le point non classée et les plus proches voisins


La distance entre le point non classée et les plus proches voisins est mesurée en utilisant
différents méthodes comme : la distance euclidienne, la distance de Manhattan, la distance
de Minkowski, celle de Jaccard, la distance de Hamming. . . etc, le fonction de distance est choisi en fonction
de type de données qu'il manipule. Pour les données de même type la distance euclidienne est le bon candidat,
et pour les données qui ne sont pas de même type la distance de Manhattan est le bonne mesure pour l'utiliser
Les représentations mathématiques de quelques distances
 Distance euclidienne
De(x, y) =√∑𝑛𝑗=1(𝑋𝑗 − 𝑌𝑗)2
 Distance Manhattan
Dm(x, y) = ∑𝑛𝑖=1|𝑋𝑖 − 𝑌𝑖|

27
Chapitre 2 L’apprentissage automatique

Avantages et inconvénients de l'algorithme KNN :


Avantages :

 L'algorithme est simple et facile à mettre en œuvre.


 Aucune hypothèse sur les données (linéaires, affines,...)
 L'algorithme est polyvalent. Il peut être utilisé pour la classification, la régression.

Inconvénients :

 L'algorithme devient beaucoup plus lent à mesure que le nombre d'exemples d'apprentissage augmente.
 Le choix de la méthode de calcul de la distance ainsi que le nombre de voisins K peut ne pas être
évident

L'étape de prédiction peut-être lente. La complexité est de l'ordre de O(n) avec (k << n). [22]
a) Definition :
En théorie des graphes, un arbre est un graphe non orienté, acyclique et connexe. L’ensemble des nœuds se
divise en trois catégories :
 Nœud racine (l’accès à l’arbre se fait par ce nœud),
 Nœuds internes : les nœuds qui ont des descendants (ou enfants), qui sont à leur tour des nœuds,
Nœuds terminaux (ou feuilles) : nœuds qui n’ont pas de descendant . [23]

Un arbre de décision est une structure graphique sous forme d’un arbre (feuilles et branches) qui illustre un
ensemble de choix pour aider à la prise de décision et classer un vecteur d’entrée X.

Cet algorithme est très utilisé dans les fouilles de données et la sécurité.

Chaque nœud de l’arborescence contient une comparaison de fonction simple par rapport à un champ
(exemple: x = femelle?).

Le résultat de chaque comparaison est vrai ou faux, ce qui détermine si nous devons continuer vers la feuille
gauche ou vers la droite du nœud.

28
Chapitre 2 L’apprentissage automatique

Figure 2-11 Structure de l'arbre de décision [24]

b) Principe :
1. Calculer l’entropie de tous les attributs en utilisant l’ensemble d’apprentissage S
2. Partitionner l’ensemble S en utilisant l’attribut pour lequel l’entropie est minimum (gain d’information
maximum)
3. Construire le nœud de l’arbre avec cet attribut
4. Recommencer récursivement sur chaque sous arbre avec chaque sous-ensemble.
Mesure d’entropie :
Mesure de la quantité´e d’incertitude dans un ensemble (dispersion)

𝐻(𝑆) = ∑ −𝑃(𝑥) ∗ log 2 (𝑃𝑐)


𝑥∈𝑋

S : ensemble des données ;

X : ensemble des classes de S ;

p(x) : proportion de la classe x ∈ X dans S.

NB : Lorsque H(S) = 0, S est parfaitement classée.

Gain d’information :
Mesure de la différence d’entropie entre avant et après le partitionnement selon un attribut

29
Chapitre 2 L’apprentissage automatique

IG(S,T) = H(S) − X t p(St)H(St)

T = {S1, . . . , } sous-ensembles du partitionnement de S,

S = ∪tSt

p(St) = ]St/]S

H(S), H(St) : entropies de S et de St. [25]

Exemple :

Figure 2-12 Exemple arbre de décision [26]

 Problèmes fondamentaux pour construire l’arbre :


1. Choix de l’attribut discriminant.
2. Affectation d’un label `a une feuille.
3. Arrêt de la procédure de segmentation (i.e. profondeur de l’arbre). Si un arbre est trop
profond, il est trop complexe et trop adapté à l’ensemble d’apprentissage, i.e. pas
assez g´généraliste.
4. Choix des bornes de discrétisation (i.e. comment découper les valeurs d’un attribut
continu).[27]

Avantages:
 Simple `a comprendre et à interpréter
 Support des variables catégoriques
 Peu de préparation des données : pas de normalisation, etc.
 Application à la régression
Inconvénients :
 Prône au sur-ajustement
 Instable (non robuste)

30
Chapitre 2 L’apprentissage automatique

 Forte variance
 Certains problèmes sont difficiles `a apprendre sous forme d’arbre. [28]

Il est rare que les modèles d’apprentissage automatique utilisent un seul arbre de décision. Mais ils agrègent
plusieurs pour obtenir ce que l’on appelle une forêt d’arbres décisionnels ou forêts aléatoires.
5-4Random Forest (forets aléatoires) :

Le random forest est composé de plusieurs arbres de décision, entrainés de manière indépendante sur des sous-
ensembles du data set d'apprentissage (méthode de bagging). Chacun produit une estimation, et c'est la combinaison des
résultats qui va donner la prédiction finale qui se traduit par une variance réduite. En somme, il s'agit de s'inspirer de
différents avis, traitant un même problème, pour mieux l'appréhender. Chaque modèle est distribué de façon aléatoire en
sous-ensembles d'arbres décisionnels.

 Comment fonctionne un random forest de régression ?


Une forêt aléatoire permet d'appliquer une régression. Reposant sur un système de bagging ;
le random forest de régression consiste schématiquement à calculer la moyenne des prévisions obtenues par l'ensemble
des estimations des arbres décisionnels de la forêt aléatoire
 Comment fonctionne un random forest de classification ?
Pour la classification, un arbre de décision pose des questions et finit par prédire une classe ou assigner une
classe (c.-à-d., en assignant une réponse à la question). [29]
Dans un random forest de classification, l'estimation finale consiste à choisir la catégorie de réponse la plus fréquente.
Plutôt qu'utiliser tous les résultats obtenus, on procède à une sélection en recherchant la prévision qui revient le plus
souvent. [30]

Figure 2-13 Structure de foret aléatoire « random forest » [29]

31
Chapitre 2 L’apprentissage automatique

Algorithme de construction de Random forest :

 Construction de n arbres de décisions en tirant aléatoirement n échantillons d'observations,


 Entraînement de chaque arbre de décision,
 Pour faire une prévision sur de nouvelles données, il faut appliquer chacun de n arbres et prendre la
majorité parmi les n prévisions.

Exemple : supposons qu'il existe un ensemble de données contenant plusieurs images de fruits. Ainsi,
cet ensemble de données est donné au classificateur de forêt aléatoire. L'ensemble de données est divisé en
sous-ensembles et attribué à chaque arbre de décision. Pendant la phase de formation, chaque arbre de
décision produit un résultat de prédiction, et lorsqu'un nouveau point de données se produit, alors sur la base
de la majorité des résultats, le classificateur Random Forest prédit la décision finale. Considérez l'image ci-
dessous :

Figure 2-13 Un simple exemple sur l'algorithme random forest [28]

 Avantages de la forêt aléatoire


o Random Forest est capable d'effectuer à la fois des tâches de classification et de régression.
o Il est capable de gérer de grands ensembles de données avec une grande dimensionnalité.
o Il améliore la précision du modèle et évite le problème de surajustement.

32
Chapitre 2 L’apprentissage automatique

 Inconvénients de la forêt aléatoire


o Bien que la forêt aléatoire puisse être utilisée à la fois pour les tâches de classification et de
régression, elle n'est pas plus adaptée aux tâches de régression.

6- Conclusion :

L'apprentissage automatique « machine learning »est considéré comme un sous-ensemble de l'intelligence


artificielle qui s'intéresse principalement au développement d'algorithmes permettant à un ordinateur
d'apprendre par lui-même à partir des données et des expériences passées.

Les problèmes de machine learning peuvent se différencier selon deux critères :

 Les données dont vous disposez sont-elles annotées ou non ? Si c'est le cas, vous avez affaire à un
problème d'apprentissage supervisé. Sinon, vous serez obligé d'utiliser un algorithme d'apprentissage
non supervisé.
 Quel est le type de résultat que vous souhaitez prédire ? S'il s'agit d'un nombre, c'est un problème
de régression. S'il s'agit plutôt d'une valeur discrète, d'une catégorie (par exemple le type d'animal
présent sur une photo), alors c'est un problème de classification.

Dans ce chapitre, nous avons présenté l’apprentissage automatique : ses types, ses algorithmes et ses
applications ; parmi les domaines d’application de ML la santé. Précisément dans notre travaille la prédiction
de covid-19 d’après les symptômes chez un patient.
Le chapitre suivant représente la création d’une application pour prédire le covid-19 en utilisent des
algorithmes de Machine Learning .

33
CHAPITRE 3 Implémentation ; résultats et discussion

1. Introduction :
Dans la machine learning (ML) la tâche la plus importante c’est l’évaluation des modèles ;
Dans ce chapitre, nous présentons d'abord une étude technique dans laquelle
nous définissons l'environnement logiciel utilisé pour développer notre application, puis nous
définirons notre dataset avec une description de ses caractéristiques .A la fin, c'est la partie
application où nous fournissons : des codes source et des résultats des algorithmes utilisés ;
ainsi l’interface graphique.

2. L’environnement de développement :
Pour la réalisation de notre model de prédiction de covid-19 on a utilisé le langage de
programmation python
2-1 python :
Python est un langage interprété populaire et puissant. Python est un langage et une plate-
forme complets que vous pouvez utiliser à la fois pour la recherche et le développement .

Pourquoi Python ?

 Python fonctionne sur différentes plates-formes (Windows, Mac, Linux, Raspberry Pi, etc.).
 Python a une syntaxe simple similaire à la langue anglaise.
 Python a une syntaxe qui permet aux développeurs d'écrire des programmes avec moins de
lignes que certains autres langages de programmation.
 Python s'exécute sur un système d'interprétation, ce qui signifie que le code peut être
exécuté dès qu'il est écrit. Cela signifie que le prototypage peut être très rapide.
 Python peut être traité de manière procédurale, orientée objet ou fonctionnelle.

2-2 Spyder :

Spyder est un environnement de développement intégré (IDE) gratuit et open source écrit
en Python, pour Python, et conçu par et pour des scientifiques, des ingénieurs et des
analystes de données. Il présente une combinaison unique de fonctionnalités avancées
d'édition, d'analyse, de débogage et de profilage d'un outil de développement complet avec
l'exploration de données, l'exécution interactive, l'inspection approfondie et les belles
capacités de visualisation d'un package scientifique . [31]

L’interface graphique de Spyder est composée de trois fenêtres essentielles :

 L’éditeur. Il sert à rédiger des programmes python(.py)

 La console. La console Python affiche la version utilisée de python au démarrage de Spyder.


Elle permet aussi de taper des commandes Python directement ou d’exécuter les fichiers Python
enregistrés.

La console n’est pas conçue pour coder des programmes en Python, elle permet uniquement de
tester quelques commandes simples.

35
CHAPITRE 3 Implémentation ; résultats et discussion

2-3 Tkinter :

Le tkinter package ("Tk interface") est l'interface Python standard de la boîte à outils Tcl/Tk
GUI. Tk et tkinter sont disponibles sur la plupart des plates-formes Unix, y compris mac OS,
ainsi que sur les systèmes Windows. [32]

Le module Tkinter qui est présent de base dans les distributions Python (pas besoin a
priori de faire d'installation de module externe). Tkinter permet de piloter la bibliothèque
graphique Tk (Tool Kit), Tkinter signifiant tk interface. On pourra noter que cette
bibliothèque Tk peut être également pilotée par d'autres langages (Tcl, perl, etc.). [33]

3. Base de données :
3-1 Définition l'ensemble de données utilisée :
« covid_early_stage_symptoms » c'est un ensemble de données sur le Covid-19,
télecharger depuis le cite « kaggle » sur www .kaggle.com ils se composent de plusieurs
variables prédictives médicales et d'une variable cible Outcome.

Les variables sont les suivants :


 Gender: variable de classe (male ou female) indique le sexe de patient.
 Age_year: l'age en années.
 Fever: Le patient a-t-il de la fièvre ? variable de classe (0 ou 1) où (0) indique que le
patient a de la fièvre et (1) qu’il n’a pas.
 Cough: Le patient tousse-t-il ou non ? (1) pour oui et (0) pour non
 Runny_nose: Le patient a le nez qui coule ? (1) pour oui et (0) pour non
 Muscle_soreness: Le patient a-t-il des douleurs musculaires ? (1) pour oui et (0)
pour non
 Pneumonia: Le patient souffre-t-il d'une pneumonie ? (1) pour oui et (0) pour non
 Diarrhea: Le patient a-t-il la diarrhée ? (1) pour oui et (0) pour non
 Lung_infection: Le patient a-t-il une Infection pulmonaire

? (1) pour oui et (0) pour non.

 Travel_history: Le patient a-t-il une Infection pulmonaire? (1) pour oui et (0) pour
non.
 Isolation_treatment:
 Outcome: variable de classe (0 ou 1) où 0 indique que le patient ne souffre pas
Covid-19 et 1 indique que le patient est infecté par covid-19.
3-2 visualisation et prétraitement de données
La visualisation des données est définis comme l'exploration visuelle et interactive des
données de toutes volumétries. Qui aident a voir des choses n'étaient pas évidentes

36
CHAPITRE 3 Implémentation ; résultats et discussion

auparavant. La visualisation facilite la transmission des informations de façon


universelle
et facilite le partage d'idées avec les autres. L'ensemble de donn_ees ressemble _a :
SARS-
CoV-2
gende age_yea feve coug runny_nos muscle_sorenes pneumoni diarrhe lung_infectio travel_histor isolation_treatmen Positiv
r r h e s a a n y t e
male 89 1 1 0 0 0 0 0 1 0 0
male 68 1 0 0 0 0 0 0 0 0 0
male 68 0 0 0 0 0 0 0 1 0 0
male 68 1 1 0 0 0 0 0 1 1 1
male 50 1 1 1 0 1 0 0 1 0 1
male 50 1 1 0 0 0 0 0 0 0 1
emale 55 1 1 0 0 0 0 0 0 0 0
emale 55 0 0 0 0 0 0 0 1 0 0
emale 55 1 1 0 0 0 0 0 0 0 1
emale 48 1 1 0 0 0 0 0 1 0 0
emale 48 0 0 0 0 0 0 0 1 0 1
emale 48 1 1 0 0 0 0 0 0 0 1
emale 49 1 1 0 0 0 0 0 1 0 0
emale 49 1 1 0 0 0 0 0 0 0 0
emale 49 0 0 0 0 0 0 0 1 0 0
emale 49 1 1 0 0 0 0 0 0 0 1
male 44 0 0 0 0 0 0 0 1 0 0
male 44 1 1 0 0 0 0 0 1 0 0
male 44 1 1 0 0 0 0 0 0 0 0

Figure 3.1 Aperçu de l'ensemble de données

L’ensemble de données dataset « covid_early_stage_symptoms » contient 6512 observations ;


b)pretraitement de données
Lors de la visualisation de données on a constate qu'il existe des valeurs nominale dans la colonne
« Gender » :
Dans notre cas, nous avons remplacé les valeurs nominales « male ;female » par des valeurs
booliennes (1) pour male ;0 pour female

3-3 Répartition des données de train/test -Train/Test Split- :


Cette méthode consiste a divisé l'ensemble de données en deux partie : partie d'entrainement sur
lequel le modèle fait son apprentissage et partie de test sur lequel on a testé le modèle et évaluer sa
performance.

37
CHAPITRE 3 Implémentation ; résultats et discussion

Figure 3.2 Répartition des données de train/test

Nous utilisons la méthode train test split importée de la bibliothèque sklearn pour effectuer le
fractionnement train/test. _ test size=0.2 a l'intérieur de la fonction indique le pourcentage des
données qui doivent être conservés pour le test. C'est généralement autour 20% pour le test et le
reste 80% pour l'entrainement ce qui signifie 5209 observations partie d'entrainement et 1303
observations partie test.

 Le code standard pour fractionner les données dans la figure suivante :

Figure 3. 3 Code pour Fractionnement de l'ensemble de données

4. Résultats et discussion :

Pour implémenter notre application nous avants utilisé les algorithmes suivants :

 decison tree
 Random forest
 K-NN
 Logistique Regression

38
CHAPITRE 3 Implémentation ; résultats et discussion

4-1 Algorithme decison tree :


a)- code source :

L’image suivante représente le code source de l’algorithme decison tree « arbre de décision » :
Après avoir importé et divisé l’ensemble de données « dataset »on utilisant la méthode train -test
Split on applique le classifieur decison tree .

Figure 3-4 Code arbre de décision

 On obtiens les résultats suivants :

Figure 3-5 Résultats de l’algorithme arbre de décision

39
CHAPITRE 3 Implémentation ; résultats et discussion

b)- matrice de confusion :

Predicted Yes Predicted No

Actual yes TP=922 FP=54

Actual No FN=92 TN=235

Tableau 3-1 matrice de confusion pour l’algorithme « arbre de


décision »
 TP: True positive
 FP: False negative
 FN: False negative
 TN: True negative
c)- Accuracy:
Il indique le pourcentage de bonnes prédictions. C’est un très bon indicateur parce qu’il
est très simple à comprendre

𝑇𝑟𝑢𝑒_𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑇𝑟𝑢𝑒_𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒
𝐀𝐜𝐜𝐮𝐫𝐚𝐜𝐲 =
𝑡𝑜𝑡𝑎𝑙
Accuracy=0.89
4-2 Algorithme Random forest
a)- code source :
pour construire notre forêt aléatoire, on utilise donc la classe RandomForestClassifier .
Nous allons définir ce qu’on appelle les paramètres du modèle. Il s’agit de :

 n_estimators : nombre d’arbres dans la forêt ; n=200.


 criterion : critère utilisé pour construire les arbres et séparer les branches des arbres « Gini ».

40
CHAPITRE 3 Implémentation ; résultats et discussion

Figure 3-6 Code Random forest


 On obtiens les résultats suivant :

Figure 3-7 résultats de l’algorithme Random forest


b)- matrice de confusion:

Predicted Yes Predicted No

Actual yes TP=925 FP=51

Actual No FN=83 TN=244

Tableau 3-2 matrice de confusion pour l’algorithme « Random forest»

41
CHAPITRE 3 Implémentation ; résultats et discussion

c)- Accuracy:
𝑇𝑟𝑢𝑒_𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑇𝑟𝑢𝑒_𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒
𝐀𝐜𝐜𝐮𝐫𝐚𝐜𝐲 =
𝑡𝑜𝑡𝑎𝑙

Accuracy=0.90

4-3 Algorithme K-NN

a)- code source :


L’image ci dessous montre le code du modèle K-NN : KNeighborsClassifier
Avec le paramètre nombre de voisins K=15.

Figure 3-8 Code du modèle K-NN

On obtiens les résultats suivant :

42
CHAPITRE 3 Implémentation ; résultats et discussion

Figure 3-9 Résultats du modèle K-NN

b)- matrice de confusion :

Predicted Yes Predicted No

Actual yes TP=945 FP=31

Actual No FN=168 TN=159

Tableau 3-3 matrice de confusion pour l’algorithme « K-NN»

c)- Accuracy :
𝑇𝑟𝑢𝑒_𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑇𝑟𝑢𝑒_𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒
𝐀𝐜𝐜𝐮𝐫𝐚𝐜𝐲 =
𝑡𝑜𝑡𝑎𝑙
Accuracy=0.85

4-4 Algorithme Logistique Régression


a)- code source

43
CHAPITRE 3 Implémentation ; résultats et discussion

Figure 3-10 Code du modèle Logistique Régression

On obtiens les résultats suivants :

Figure 3-11 Résultats du modèle Logistique Régression

b)- matrice de confusion :

Predicted Yes Predicted No

Actual yes TP=925 FP=51

Actual No FN=83 TN=244

Tableau 3-4 matrice de confusion pour l’algorithme «Logistique Régression »

c)- Accuracy

44
CHAPITRE 3 Implémentation ; résultats et discussion

𝑇𝑟𝑢𝑒_𝑝𝑜𝑠𝑖𝑡𝑖𝑣𝑒 + 𝑇𝑟𝑢𝑒_𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑒
𝐀𝐜𝐜𝐮𝐫𝐚𝐜𝐲 =
𝑡𝑜𝑡𝑎𝑙
Accuracy=0.90

 Le graphe suivant représente Les ’ Accuracy ‘des 4 modèles

Accuracy
0,91
0,9
0,89
0,88
Regression logistique
0,87
0,86 K-NN
0,85 Arbre de decision
0,84 Foret aléatoire
0,83
0,82
Regression K-NN Arbre de Foret
logistique decision aléatoire

Figure 3-12 Accuracy des 4 modèles utilisés

5. Application :

5.1 L'interface de l’application


Le but de cette interface est de prédire si une personne est infecté par covid-19 ou non, pour cela il
doit remplir le formulaire ci-dessous qui contient les informations suivantes : gender, age_year,
fever, cough, runny_nose, muscle_soreness, pneumonia, diarrhea, Lung _infection, travel_history,
isolation_treatment.
L’interface contient alors :
 des champs à remplie ;
 des boutons de : retour ; vider les champs et de fermer l’application ;
 des boutons pour choisir l’algorithme à appliqué ;
 Le résultats de la prédiction.

45
CHAPITRE 3 Implémentation ; résultats et discussion

Figure 3-13 Interface de l’application

46
CHAPITRE 3 Implémentation ; résultats et discussion

5-2 Exemple d’un cas positif :

Figure 3-14 Exemple d’un cas positif

47
CHAPITRE 3 Implémentation ; résultats et discussion

5-3 Exemple d’un cas négatif :

Figure 3-15 Exemple d’un cas négatif

6- Conclusion :

Dans ce chapitre, nous avons utilisé les 'algorithmes decison tree ;Random forest ;K-NN et
Logistique Regression pour implimenter l’application de predire le Covid-19 , on utilisant le
langage de programmation Python, et ensuite nous avons discuté les résultats de chaque
algorithme , et finalement nous avons présenté l’interface de notre application « prédiction de
covid-19 » avec des exemples .

48
Conclusion générale
Un dépistage efficace du SRAS-CoV-2 permet un diagnostic rapide et efficace du
COVID-19 et peut atténuer la charge pesant sur les systèmes de santé ; le processus
d'indentification dangereux et fastidieux entraine la visite d'un patient à un centre de
diagnostic mais l'approche d'apprentissage automatique résoudre ce
problème critique ; dans le but de cette étude pour construire un modèle capable de
prédire si les personnes sont infectés par Covid-19 ou non on utilisant des algorithmes
d'apprentissage automatique.
Dans ce contexte, nous avons adopté une approche basée Machine Learning pour
prédire l’infection par Covid-19 .Nous avons sélectionné 4 algorithmes de
classification « Decision tree ; Random forest ;K-NN ; Logestique regression ».

Les algorithmes donnent des résultats avec des différentes précisions;

Ce travail n’est qu’un début et il reste ouvert à plusieurs extensions, comme


perspectives, nous envisageons de :
 Travailler avec d’autre modèle de prédiction et d’autre base de données dans
l’objectif d’avoir une meilleure prédiction avec la meilleure précession.
 Réalisation d’une application Android pour la prédiction de covid-19 et
l’orienter les patients vers l'hôpital ou la clinique la plus proche.
 Utiliser le Deep Learning sur des image médical (scaner) pour prédire le
covid-19.

51
Bibliographies :
1)- https://www.lumni.fr/article/coronavirus-definition-transmission-et-symptomes

2)- : https://www.futura-sciences.com/sante/definitions/coronavirus-sars-cov-2-18559/ LE 10/04/2022

3)- Événements zoonotiques et zoonotiques inverses du SRAS-CoV-2 et leur impact sur la santé
mondiale PUBLIÉ EN LIGNE :
HTTPS://WWW.TANDFONLINE.COM/DOI/FULL/10.1080/22221751.2020.1827984

4)- https://www.inspq.qc.ca/covid-19/environnement/modes-transmission

5)- https://www.sante.fr/tout-savoir-sur-le-coronavirus-covid-19

6)- https://www.sciencesetavenir.fr/sciences/covid-19-les-variants-entre-roulette-russe-et-selection-
naturelle_151164

7)- https://www.who.int/fr/activities/tracking-SARS-CoV-2-variants Site de l’OMS, Tracking SARS-


CoV-2 variants ; Site de Santé Publique France, Coronavirus : circulation des variants du SARS-CoV-
2date de consultation : LE 23/04/2022

8)- https://www.who.int/fr/news-room/questions-and-answers/item/coronavirus-disease -(covid-19)-


vaccines

9)- Pandémie de Covid-19 en Algérie


10)- https://wikimemoires.net/2020/12/apprentissage-automatique-vs-intelligence-artificielle/
11)- https://www.oracle.com/dz/data-science/machine-learning/what-is-machine-learning/

12)- https://www.javatpoint.com/applications-of-machine-learning

13)- https://www.saagie.com/fr/blog/machine-learning-definition/
14)- https://penseeartificielle.fr/introduction-au-machine-learning/
15)- S.Russell et P.Norving – Intelligence artificielle ,3eme édition 2003
16)- https://www.semanticscholar.org/paper/Le-transfert-adaptatif-en-apprentissage-par-%3A-
%C3%A0-la-Machado/33c7263afb42b88c0c7868d468466f6c2fafdef9
17)- https://ibm.com/apprentissage automatique/
18)- Types of classification algorithms in machine learning
https://www.faepa.br/kgyo.aspx?cname=machine+learning+classification+in+r&cid=66
19)- https://www.lemagit.fr/conseil/Machine-Learning-les-9-types-dalgorithmes-les-plus-pertinents-en-
entreprise/

20)- : https://datascientest.com/regression-logistique-quest-ce-que-
cest#:~:text=D%C3%A9finition,logistique%20comme%20fonction%20de%20lien

21)- https://www.datacamp.com/tutorial/k-nearest-neighbor-classification-scikit-learn

22)- https://www.isnbreizh.fr/nsi/activity/algoRefKnn/index.html

23)- http://cedric.cnam.fr/vertigo/cours/ml2/coursArbresDecision.html
24)- https://forum.huawei.com/enterprise/fr/algorithmes-d-apprentissage-automatique-arbres-de-
d%C3%A9cision/thread/739799-100379

25)- https://www-lisic.univ-littoral.fr/~verel/TEACHING/13-14/IASF-M1app/cm10.pdf

26)- http://cedric.cnam.fr/vertigo/cours/ml2/coursArbresDecision.html

27)- https://www.lamsade.dauphine.fr/~atif/lib/exe/fetch.php?media=teaching:decisiontrees.pdf

28)- https://iaobs.com/blog/algorithmes-apprentissage-automatique-7/

29)- : https://help.alteryx.com/fr/20194-ml/designer/random-forest-regression-tool-machine-learning

30)- https://www.journaldunet.fr/web-tech/guide-de-l-intelligence-artificielle/1501905-random-forest-ou-foret-
aleatoire/

31)- https://www.spyder-ide.org/spyder

32)- tkinter — Interface Python pour Tcl/Tk sur :

https://docs.python.org/fr/3/library/tkinter.html#module-tkinter

33)- https://python.sdv.univ-paris-diderot.fr/20_tkinter/

Vous aimerez peut-être aussi