Prédiction précoce du diabète par IA
Prédiction précoce du diabète par IA
Département d’Informatique
Mémoire de Master
en Informatique
Thème
2020/2021
Remerciements
Nous remercions le DIEU de nous avoir donné la patience, la santé et le courage
pour réaliser ce travail. A travers ce modeste travail, nous tenons à remercier
vivement notre encadreur Dr : Abdelmadjid Youcefa pour ses conseils et ses
encouragements qui nous ont permis de réaliser ce modeste travail Nous
remercions sincèrement les membres du jury d’avoir accepté d’examiner et
d’évaluer notre travail . Nous exprimons également notre gratitude à tous les
professeurs et les enseignants qui ont collaboré à notre formation depuis notre
premier cycle d’´étude jusqu’`à la fin de notre cycle universitaire. MERCI A
TOUS
Dédicaces
Nous dédions ce travail à nos parents à toute la famille. À tous les amis et
bien sûr à tout le collègue durant la formation.
Nous dédions ce travail à tous les jours difficiles que nous avons vécu
durant notre formation les cinq années de l’ingéniorat plus l’année de
master
Résumé
Au cœur de ce mémoire, nous avons conçu et développé une application
web pour la prédiction précoce du diabète de type 2, Afin d'éviter les
risques de complications de cette maladie chronique sur la santé du patient. Pour
atteindre cet objectif, nous avons utilisé des algorithmes
d’apprentissage automatique supervisé (K neares neighbors, Decision
Trees, Random Forest, Support Vector Machine, Naives Bayes) et le
data set extrait de l’adresse web [Link] le data est de l’origine
de l’hopital de Pima_Indian (USA)Les performances des classifieurs
ont été comparées en fonction du taux de précision. Les plus hauts taux
de classification obtenus par l’application de Support_Vector_
Machine et Random_Forest sont respectivement 81.16% et 79.22% en
appliquant la méthode d’´évaluation train/test
Mots clés: IA , ML , Prédiction du diabète ,K nearest neighbors,
Decision Trees,Random Forest, Support Vector Machine, Naives Bayes
Abstract
In this modest work, we designed and developed a web application for the early
prediction of type 2 diabetes, in order to avoid the risk of complications of this
disease on the patient’s health .To achieve this goal, we used algorithms supervised
machine learning (K nearest neighbors, Decision Trees, Random Forest, Support
Vector Machine, Naives Bayes) and the data set extracted from the web address
[Link] the data is from the Pima_Indian hospital (USA). The
performance of classifiers was compared based on accuracy rate and model
sensitivity. The highest classification rates obtained by the application of
Support_Vector_ Machine and Random Forest are respectively 81.16%
and 79.22%, by applying the method of evaluation train /test .
2.3.1 Motivation.………………………………………………………….....23
3.7 L’application..……………………………………….………….81
3.8 Conclusion............………………………………….…………..83
Conclusion générale…………………….……………………………….…84
Bibliographie.…………………….…………………..…………………….85
Annexe..………………………….………………………………..………..89
Table des figures
Figure 1.1 -Les Complications du diabète [5]…………………………..10
Figure 1.2 - Seringue d’insuline [6]…………………………………….17
Figure 1.3 - Le traitement hygiéno-diététiques [7]……………………..18
Figure 2.1-L’apprentissage automatique avec les disciplines connexe ...23
Figure 2.2-Domaines d’applications de l'apprentissage automatique .…25
Figure2.3-Les algorithmes d’apprentissage automatique [13]………….28
IA Intelligence Artificielle
ML Machine Learning
OMS Organisation mondiale de la santé.
Ceed Centre européen d´étude du diabète.
ASG Auto surveillance glycémique
HAS Haute autorité de santé
DT1 Diabète de type 1
DT2 Diabète de type 2
Introduction générale
L’apprentissage automatique est une discipline de l’intelligence artificielle qui
cherche a trouver un moyen de créer des programmes informatiques qui s’améliorent
automatiquement avec l’expérience. à travers ce mémoire de Master, nous
intéresserons à l’utilisation des algorithmes d’apprentissage automatique pour la
prédiction précoce du diabète de type 2 qui est un dysfonctionnement du système de
régulation de la glycémie, Afin d'éviter les risques de complications de cette maladie
chronique sur la santé du patient
K nearest neighbors
Decision Trees
Random Forest
naïveBayes
aux données extrait de l’hôpital de Pima_Indian (USA) téléchargés à partir de
l’adresse [Link] et déduire le meilleur algorithme qui donnera comme
résultat une classification des patients en termes de taux du précision et de la
sensibilité du modèle . Ce travail est organisé en trois principaux chapitres comme
suit :
3. Le dernier 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 et une analyse détaillé de la base des données utilisées.
Ensuite, les résultats sont présentés, comparés et interprétés.
1.1 Introduction
Le diabète, souvent appelé par les médecins diabète sucré, décrit un groupe de
maladies métaboliques dans lesquelles la personne a une glycémie élevée (sucre dans
le sang), soit parce que l'insuline la production est inadéquate, ou parce que les
cellules du corps ne le font pas répondre correctement à l'insuline, ou aux deux. Les
patients avec la glycémie présentera généralement une polyurie (fréquente miction),
ils auront de plus en plus soif (polydipsie) et affamé (polyphagie).
1
Chapitre 1 Généralité sur le diabète
médecin grec au IIe siècle A.D., a nommé la condition diabainein. Il a décrit les
patients qui passaient trop d'eau (polyurie) - comme un siphon. Le mot est devenu
«diabète» à partir de l'adoption anglaise du diabète latin médiéval. En 1675, Thomas
Willis ajouta mellitus au terme, bien qu'il soit communément appelé simplement
comme le diabète. Mel en latin signifie «miel»; l'urine et le sang des personnes
atteintes de diabète a un excès de glucose, et le glucose est doux comme le miel. Le
diabète sucré pourrait littéralement signifie «siphonner de l'eau douce». Dans la
Chine ancienne, les gens ont observé que les fourmis seraient attirées par certaines
personnes l'urine, parce qu'elle était douce. Le terme «maladie des urines sucrées» a
été inventé. [1]
• Le diabète est une maladie à long terme qui entraîne des taux de sucre dans le sang.
• En 2013, on estimait que plus de 382 millions de personnes partout dans le monde
souffraient de diabète.
• Diabète de type 1 - le corps ne produit pas insuline. Environ 10% de tous les cas de
diabète sont type 1.
• Les symptômes du diabète les plus courants comprennent mictions fréquentes, soif
et faim intenses, gain de poids, perte de poids inhabituelle, fatigue, coupures et
ecchymoses qui ne guérissent pas, dysfonctionnement sexuel masculin,
engourdissement et picotements dans les mains et les pieds.
2
Chapitre 1 Généralité sur le diabète
• Si vous avez le type 1 et suivez un régime alimentaire sain, faites de l'exercice
adéquat et prenez de l'insuline, vous pouvez conduire une vie normale.
• Les patients de type 2 doivent manger sainement, être physiquement active et testez
leur glycémie. Ils peuvent aussi besoin de prendre des médicaments oraux et / ou de
l'insuline pour contrôler la glycémie. [2]
1. 4 Types de diabète
Le corps ne produit pas assez l'insuline pour un bon fonctionnement, ou les cellules
du corps ne réagit pas à l'insuline (résistance à l'insuline). Environ 90% de tous les
cas de diabète dans le monde sont de type 2. Certains les personnes peuvent être en
mesure de contrôler leur diabète de type 2 symptômes en perdant du poids, en suivant
une alimentation saine, faire beaucoup d'exercice et surveiller leur sang les niveaux
de glucose. Cependant, le diabète de type 2 est généralement un maladie évolutive –
elle s'aggrave progressivement - et le patient devra probablement prendre de
l'insuline, généralement sous forme de comprimés. Les personnes en surpoids et
obèses ont un risque beaucoup plus élevé de développer un diabète de type 2 par
rapport à ceux qui ont un poids corporel sain. Gens avec beaucoup de graisse
3
Chapitre 1 Généralité sur le diabète
viscérale, également appelée obésité centrale, la graisse du ventre ou l'obésité
abdominale sont
Ce type affecte les femmes pendant grossesse. Certaines femmes ont des niveaux très
élevés de glucose dans leur sang et leur corps est incapable de
Produire suffisamment d'insuline pour transporter tout le glucose dans leurs cellules,
ce qui entraîne une augmentation progressive des niveaux de glucose. Le diagnostic
du diabète gestationnel est posé pendant la grossesse. La majorité des diabètes
gestationnels les patients peuvent contrôler leur diabète grâce à l'exercice et à un
régime. Entre 10 et 20% d'entre eux devront en prendre sorte de médicaments
contrôlant la glycémie. Un diabète gestationnel non diagnostiqué ou non contrôlé
peut augmenter le risque de complications lors de l'accouchement. [3]
4
Chapitre 1 Généralité sur le diabète
5
Chapitre 1 Généralité sur le diabète
� Le test A1C
- moins de 100 mg / dl signifie normal Une lecture anormale après le FPG signifie
que le patient a une glycémie à jeun altérée (IFG) issance. Cependant, le glucose ne
peut pas entrer dans nos cellules
- moins de 140 mg / dl signifie normal Une lecture anormale suite à l'OGTT signifie
que le patient a une tolérance au glucose altérée (IGT)
[4]
1.7 La liste des complications possibles qui peuvent être causée par
un diabète mal contrôlé :
�Perte auditive - les patients diabétiques ont un risque plus élevé de développer des
problèmes d'audition
�Maladie des gencives - la prévalence est beaucoup plus élevée des maladies des
gencives chez les patients diabétiques
7
Chapitre 1 Généralité sur le diabète
�MAP (maladie artérielle périphérique) - les symptômes peuvent comprennent des
douleurs dans la jambe, des picotements et parfois des problèmes pour marcher
correctement
�Cicatrisation des plaies - les coupures et les lésions prennent beaucoup plus
longtemps pour guérir.
8
Chapitre 1 Généralité sur le diabète
De nombreux Des «faits» sont évoqués dans la presse papier, les magazines et sur
Internet concernant le diabète ; certains d'entre eux sont, en fait, mythes. Il est
important que les personnes atteintes de diabète, de pré diabète, leurs proches, les
employeurs et les écoles image précise de la maladie.
Faux ! L'exercice est important pour les personnes diabète, comme pour tout le
monde. L'exercice aide gérer le poids corporel, améliore le système cardiovasculaire
santé, améliore l'humeur, aide à contrôler la glycémie,
et soulage le stress. Les patients doivent discuter de l'exercice avec leur médecin en
premier.
�Le diabète est une nuisance, mais pas grave - les deux tiers des patients
diabétiques meurent prématurément d'un accident vasculaire cérébral ou cardiopathie.
L'espérance de vie d'une personne le diabète est de cinq à dix ans plus court que les
autres les gens. Le diabète est une maladie grave.
9
Chapitre 1 Généralité sur le diabète
�Les enfants peuvent surmonter le diabète - ce n'est pas vrai.
Presque tous les enfants atteints de diabète ont le type 1 , les cellules bêta
productrices d'insuline dans le pancréas ont été détruit. Ceux-ci ne reviennent jamais.
Enfants diabétiques de type 1 devront prendre de l'insuline pendant le reste de leur
vie, à moins qu'un remède ne soit trouvé journée
�Ne mangez pas trop de sucre, vous deviendrez diabétique - ce n'est pas vrai.
Une personne diabétique le type 1 a développé la maladie parce que leur système
immunitaire système détruit les cellules bêta productrices d'insuline. Une
alimentation riche en calories, qui peut rendre les gens surpoids / obèse, augmente le
risque de développement de diabète de type 2, surtout s'il y a des antécédents de cette
maladie dans la famille.
�Je sais quand ma glycémie est élevée ou faible – des taux de sucre dans le sang
très élevés ou faibles peuvent causer certains symptômes, tels que faiblesse, fatigue et
soif extrême. Cependant, les niveaux doivent être fluctuant beaucoup pour que les
symptômes se fassent sentir. Le seul Pour être sûr de votre taux de sucre dans le sang,
testez-les régulièrement. Des chercheurs du L'Université de Copenhague, au
Danemark, a montré que même de très légères augmentations de la glycémie
augmentent considérablement le risque de cardiopathie ischémique.
�Les régimes diabétiques sont différents de ceux des autres personnes -les
diététiciens et nutritionnistes spécialisés recommander aux patients diabétiques sont
en bonne santé ; sain pour tout le monde, y compris les personnes sans la maladie.
Les repas doivent contenir beaucoup de légumes, fruits, grains entiers, et ils devraient
être faible en sel et en sucre, et gras saturés ou trans. Les experts disent qu'il n'est pas
nécessaire d'acheter d'aliments diabétiques car ils n'offrent aucun avantage particulier,
par rapport aux produits sains dans lesquels nous pouvons acheter la plupart
magasins.
10
Chapitre 1 Généralité sur le diabète
�Une glycémie élevée convient à certains, alors que pour d'autres, ils sont un
signe de diabète - des taux élevés de sucre dans le sang ne sont jamais normaux pour
personne. Quelque les maladies, le stress mental et les stéroïdes peuvent causer
augmentations temporaires de la glycémie chez les personnes sans diabète. Toute
personne dont le taux de sucre dans le sang ou le taux de sucre dans l'urine est
supérieur à la normale doit être vérifiée pour le diabète par un centre de santé
professionnel. Les diabétiques ne peuvent pas manger de pain, de pommes de terre ou
de pâtes - les personnes atteintes de diabète peuvent manger des féculents.
Cependant, ils doivent garder un œil sur la quantité. Les féculents à grains entiers
sont meilleurs, car c'est le cas des personnes sans diabète.
�Une personne peut transmettre le diabète à une autre personne - PAS VRAI.
Tout comme une jambe cassée n'est pas infectieux ou contagieux. Un parent peut
transmettre, à travers leurs gènes à leur progéniture, une susceptibilité de développer
la maladie.
�Je dois prendre de l'insuline, cela doit signifier mon diabète est grave - les gens
prennent de l'insuline lorsqu'ils suivent un régime seul ou avec un régime avec
injection orale ou non d'insuline les médicaments contre le diabète ne fournissent pas
assez le contrôle du diabète, c’est tout. L'insuline aide le diabète contrôlé. Il n'a
généralement rien à faire avec la gravité de la maladie.
11
Chapitre 1 Généralité sur le diabète
et des bonbons s'ils les combinent avec de l'exercice ou mangez-les dans le cadre d'un
repas sain.
�Mictions fréquentes: êtes-vous allé au salle de bain pour uriner plus souvent
récemment? Est-ce que tu remarques que vous passez la majeure partie de la journée
à toilette ? Lorsqu'il y a trop de glucose (sucre) dans votre sang, vous urinerez plus
souvent. Si ton l'insuline est inefficace, ou pas du tout, votre les reins ne peuvent pas
filtrer le glucose dans le du sang. Les reins prélèveront de l'eau de votre sang afin de
diluer le glucose - qui à son tour remplit votre vessie.
�Soif disproportionnée : si vous urinez plus que d'habitude, vous devrez remplacer
ce liquide perdu. Vous boirez plus que d'habitude. Avez-vous bu plus que d'habitude
ces derniers temps?
�Faim intense: comme l'insuline dans votre sang n'est pas fonctionné correctement,
ou n'existe pas du tout, et votre les cellules ne reçoivent pas leur énergie, votre corps
peut réagir en essayant de trouver plus d'énergie - de la nourriture. Vous serez avoir
faim.
12
Chapitre 1 Généralité sur le diabète
�Gain de poids: cela peut être le résultat de ce qui précède symptôme (faim
intense).
�Perte de poids inhabituelle: elle est plus courante chez les personnes atteintes de
diabète de type 1. Comme votre corps n'est pas en fabriquant de l'insuline, il
cherchera une autre énergie source (les cellules ne reçoivent pas de glucose). Muscle
les tissus et la graisse seront décomposés pour produire de l'énergie. Comme Le type
1 est d'apparition plus soudaine et le type 2 est beaucoup plus graduelle, la perte de
poids est plus perceptible avec Type 1.
�Vision floue : cela peut être causé par des tissus tiré de vos lentilles oculaires. Cela
affecte vos yeux » capacité à se concentrer. Avec un traitement approprié, cela peut
être traité. Il existe des cas graves de cécité ou de des problèmes de vision prolongés
peuvent survenir. Les coupures et les ecchymoses ne guérissent pas correctement ou
rapidement : Trouvez-vous que les coupures et les ecchymoses prennent beaucoup
plus de temps que d'habitude pour guérir ? Quand il y a plus de sucre (glucose) dans
votre corps, sa capacité à guérir peut être miné.
13
Chapitre 1 Généralité sur le diabète
des dents: si vos gencives sont sensibles, rouges et / ou enflé cela pourrait être un
signe de diabète. Vos dents pourraient se détacher lorsque les gencives s'écartent de
eux.
Pour compenser, celle-ci doit être administrée artificiellement au quotidien par une
injection sous cutanée d’insuline via une seringue, un stylo ou une pompe. Il s’agit
d’un traitement d’insulinothérapie. Le diabète de type 1 touche plus souvent l’enfant,
l’adolescent voire le jeune adulte.
14
Chapitre 1 Généralité sur le diabète
15
Chapitre 1 Généralité sur le diabète
1.11 Conclusion
Dans ce chapitre nous avons présenté la maladie du diabète, leur différent types, les
symptômes ainsi que le diagnostic et le traitement de la maladie et a la fin nous avons
cité quelques préventions pour éviter le diabète. Dans le prochain chapitre, nous
présenterons des approches différentes d'aide au diagnostic préventif concernant les
algorithmes de machine learning dans la prédiction du diabète de type 2
16
Chapiter2 L’apprentissage automatique
C’est pour ça on va voir comment faire pour appliquer les différents algorithmes de
classification d’apprentissage supervisé
K nearest neighbors
Decision Trees
Random Forest
naïveBayes
17
Chapiter2 L’apprentissage automatique
2.3.1 Motivation
19
Chapiter2 L’apprentissage automatique
20
Chapiter2 L’apprentissage automatique
L'apprentissage supervisé
L'apprentissage non-supervisé
Le système doit ici dans l'espace de description (la somme des données) cibler les
données selon leurs attributs disponibles, pour les classer en groupe homogènes
21
Chapiter2 L’apprentissage automatique
d'exemples. La similarité est généralement calculée selon la fonction de distance
entre paires d'exemples. C'est ensuite à l'opérateur d'associer ou déduire du sens pour
chaque groupe. Divers outils mathématiques et logiciels peuvent l'aider. On parle
aussi d'analyse des données en régression. Si l'approche est probabiliste (c'est à dire
que chaque exemple au lieu d'être classé dans une seule classe est associé aux
probabilités d'appartenir à chacune des classes), on parle alors de « soft clustering »
(par opposition au « hard clustering »)
L'apprentissage semi-supervisé
22
Chapiter2 L’apprentissage automatique
Avec l’apprentissage supervisé, la machine peut apprendre à faire une certaine tâche
en étudiant des exemples de cette tâche. Par exemple, elle peut apprendre à
reconnaître une photo de chien après qu’on lui ait montré des millions de photos de
chiens. Ou bien, elle peut apprendre à traduire le français en chinois après avoir vu
des millions d’exemples de traduction français-chinois .D’une manière générale, la
machine peut apprendre une relation qui en ayant analysé des millions d’exemples
d’associations .La machine apprend à partir de milliers d’exemples x, y
23
Chapiter2 L’apprentissage automatique
24
Chapiter2 L’apprentissage automatique
tout d’abord, rassemblez les données dont vous aurez besoin pour l’apprentissage
automatique. Veillez à les rassembler sous une forme consolidée, afin qu’elles soient
toutes contenues dans un seul tableau (Flat Table).
il s’agit de préparer les données afin de les rendre exploitables par les algorithmes
d’apprentissage automatique.
o Nettoyage des données : trouvez les « Null », les valeurs manquantes et les données
dupliquées. Il faut remplacer les « Null » et les valeurs manquantes par d’autres
valeurs (ou les supprimer) et s’assurer de ne pas avoir de doublons.
o Décomposition des données : les colonnes de texte contiennent parfois plus d’une
information ; nous devons donc les diviser en autant de colonnes dédiées que
25
Chapiter2 L’apprentissage automatique
nécessaire. Si certaines colonnes représentent des catégories, convertissez-les en
colonnes de type catégorie.
o Mise à l’échelle (Data Scaling) : cela permettra d’obtenir des données à une échelle
commune, si ce n’est déjà le cas. La mise à l’échelle des données ne s’applique pas
au label ou aux colonnes de catégories. Elle est nécessaire lorsqu’il y a une grande
variation dans les plages de features.
Enrichissement des données : parfois, vous devrez enrichir les données existantes par
des données externes afin de donner à l’algorithme plus d’informations avec
lesquelles travailler, ce qui améliore le modèle (par exemple, des données
économiques ou météorologiques).
Visualisez vos données dans leur ensemble pour voir s’il existe des liens entre les
colonnes. En utilisant des graphiques (Charts), vous pouvez voir les
caractéristiques/features côte à côte et détecter tout lien entre les features, et entre
les features et les labels.
o Les liens entre les features nous permettent de voir si une feature donnée est
directement dépendante d’une autre. Si c’est le cas, il se peut que vous n’ayez pas
besoin des deux features.
o Les liens entre une feature et le label nous permettent de voir si une feature aura un
fort effet sur le résultat.
Parfois, vous devrez générer des features supplémentaires à partir de celles qui
existent déjà dans une classification (par exemple, lorsque l’algorithme choisi est
incapable de différencier correctement les classes).
26
Chapiter2 L’apprentissage automatique
Vous pouvez vous retrouver avec un nombre énorme de colonnes. Dans ce cas, vous
devez choisir les colonnes que vous utiliserez comme features, mais si vous avez des
milliers de colonnes (c’est-à-dire des features potentielles), vous devrez appliquer
une réduction dimensionnelle. Il existe plusieurs techniques pour ce faire, notamment
l’analyse en composantes principales ou ACP (Principal Component Analysis, PCA
en anglais). L’ACP est un algorithme d’apprentissage non-supervisé qui utilise les
colonnes existantes pour générer de nouvelles colonnes, appelées composantes
principales, qui peuvent être utilisées ultérieurement par l’algorithme de
classification.
Plusieurs outils sont donc à notre disposition notamment cet organigramme créé
par Andreas Mueller qui permet assez facilement et rapidement de trouver
l'algorithme associé à notre problème.
Ceci permet donc de créer le programme le plus optimisé possible par rapport
aux tâches à accomplir. C'est un point non négligeable et surtout incontournable dans
la création d'un programme utilisant le Machine Learning.
Selon les données utilisées qui on va les détaillés plus tard on a choisis les
algorithmes suivants
K nearest neighbors
28
Chapiter2 L’apprentissage automatique
Support Vector Machine
naïveBayes plus +
(Decision Trees, Random Forest) qui sont les algorithmes à celui qui n’avait pas
un bon algorithme
Trainer le Modèle
Si par exemple votre Data set vous donne le nuage de point suivant, alors la machine
devra trouver le modèle qui rentre le mieux dans ce nuage de point.
29
Chapiter2 L’apprentissage automatique
Dans les faits, c’est à nous de choisir le type de modèle (c’est-à-dire la fonction
mathématique) et c’est à la machine de trouver les coefficients de cette fonction qui
donnent les meilleurs résultats. Par convention on appelle ces coefficients
les paramètres du modèle.
Par exemple, on peut choisir de développer un modèle linéaire et on laisse la
machine trouver la valeur de et qui donne les meilleurs résultats. Ou bien on peut
choisir un modèle non-linéaire, par exemple, ou sont les paramètres. Les possibilités
sont infinies, mais nous verrons plus tard dans cette formation comment choisir un
modèle plutôt qu’un autre.
30
Chapiter2 L’apprentissage automatique
Maintenant, la question est : comment faire pour que la machine trouve le meilleur
modèle ? Autrement dit, comment faire pour que la machine apprenne
Tester le Modèle
Il est maintenant temps de valider votre modèle entraîné. À l'aide des données de test
de l'étape 3, nous vérifions la précision du modèle.
31
Chapiter2 L’apprentissage automatique
32
Chapiter2 L’apprentissage automatique
Maintenant, dans le cas d’une classification, on peut construire notre Fonction Coût
en mesurant le nombre d’exemples du Data set que notre modèle aura mal classé avec
sa frontière de décision
Si les résultats ne sont pas satisfaisants, vous devez améliorer et recycler votre
modèle ML (étape 4).
Améliorer le Modèle
C'est en forgeant qu'on devient forgeron! Voici quelques mesures à prendre pour
affiner votre modèle et améliorer la précision :
Passez en revue les résultats de votre modèle avec les parties prenantes de votre
entreprise. Y a-t-il d'autres éléments de données qui méritent d'être ajoutés à votre
modèle pour le rendre plus précise
33
Chapiter2 L’apprentissage automatique
Reconsidérez votre choix d'algorithme. Dans chaque classe d'algorithme, il existe des
dizaines de choix d'algorithmes. Un algorithme différent peut mieux fonctionner pour
vous
Ajustez les paramètres de votre algorithme choisi pour améliorer les performances.
Parfois, de petits ajustements ont un impact significatif.
Parlons peu, parlons bien. Avoir un bon modèle, c’est avoir un modèle qui de petites
erreurs. Logique ?
34
Chapiter2 L’apprentissage automatique
2.5.1Knearestneighbors (KNN)
K nearest neighbors (KNN) ou K plus proche voisins en français est l’un des
méthodes d’apprentissage supervisé le plus simple, utilisé pour résoudre des
problèmes de classification et de la régression. son fonctionnement est de classer les
nouveaux points de données en fonction de la similarité aux points de données
voisins.
35
Chapiter2 L’apprentissage automatique
KNN est un algorithme qui ne fait aucunes hypothèses sur la structure des
données et de la distribution, ce qui signifie qu’il s’agit d’un algorithme non
paramétrique.
Il est également appelé algorithme de l’apprenant paresseux, car il
n’apprend pas immédiatement de l’ensemble d’apprentissage, mais stocke
l’ensemble de données et, au moment de la classification, il exécute une
action sur l’ensemble de données.
KNN fonctionne par classification ou prédiction sur la base d’un nombre
fixe (K) de points de données les plus proches de point d’entrée. Cela
signifie que pour une valeur choisie de K, un point d’entrée serait classée ou
devrait appartenir à la même classe que la classe la plus proche des nombre
des points K voisins .[20] .
Exemple
36
Chapiter2 L’apprentissage automatique
L’interprétation de l’exemple
Dans cet exemple nous avons une donnée non classée et tous les autres données
sont classée (étoile et triangle) chacun avec leur classe (classe A et B).
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 le donnée non classée sera
classer un étoile (Classe A).
37
Chapiter2 L’apprentissage automatique
Remarque
Avantage de KNN
1. Simple à implémenter
2. Gérer naturellement les cas multi classes
3. Peut être utilisé pour la classification et la régression
38
Chapiter2 L’apprentissage automatique
Inconvénients de KNN
1. le choix de la valeur de k (le nombre de voisins le plus proche)
2. Le cout de calcul est élevé (pour chaque instance de l’ensemble de
données on a besoin de calculer la distance)
2. Stockage de données
3. Sensible aux fonctionnalités non pertinentes
1. Indice de Gini
2. Gain d’information
39
Chapiter2 L’apprentissage automatique
Exemple
C’est un petit exemple pour prédire si une personne est diabétique ou non, cette
modèle contient trois attributs qui sont minimun systolic blood pressure , ageet
glucose avec deux classes diabétique et non-diabétique Dans cette exemple les
attributs représente les nœuds interne, lequel basé pour l’arbre divise en branche,
la fin de branche qui ne sépare plus est le feuille (la décision) où on peut prédire
si un personne est diabétique ou non.
Les arbres de décision sont bien adaptés aux problèmes de catégorisation où les
attributs sont vérifiés pour déterminer une catégorie finale a cause de sa
construction naturelle
(si. . . alors. . . sinon. . .) . Par exemple la Lecteur de l’exemple :
Si minimum, systolic blood pressure >91 = no , alors : personne=diabetic ;
Si minimum systolic blood pressure >91 = yes AND age >40 = no ,alors:
personne = non-diabetic
Si minimum systolic blood pressure >91 = yes AND age >40 = yes AND
glucose =no ,alors: personne = non-diabetic ;
40
Chapiter2 L’apprentissage automatique
Si minimum systolic blood pressure >91 = yes AND age >40 = yes AND
glucose =yes ,alors: personne = diabetic ;
Exemple
42
Chapiter2 L’apprentissage automatique
L’interprétation d’exemple
43
Chapiter2 L’apprentissage automatique
SVM choisit les points / vecteurs extrêmes qui aident à créer l’hyperplan. Ces
cas extrêmes sont appelés vecteurs de support, et donc l’algorithme est appelé
machine de vecteur de support.
Les diagrammes suivant illustre deux classes (classe des points bleus et classe
des points roses) différant qui sont classés avec un hyperplan.
44
Chapiter2 L’apprentissage automatique
Exemple
L’interprétation d’exemple
Dans cette exemple le jeu de données contient des étoiles et des triangles qui sont
respectivement classé dans les classe A et B, dans la phase d’apprentissage le
classificateur SVM consiste à trouve le meilleur hyperplan qui sépare
parfaitement les deux classe, et classe correctement les nouveaux données ainsi
comme les vecteurs de support crée une frontière de décision entre les deux
45
Chapiter2 L’apprentissage automatique
classes les nouveaux données sera classé à la base de ces vecteurs
Hyperplan et vecteur de support et marge dans l’algorithme SVM
Hyperplan :
Les hyperplans sont des limites de décision qui aident à classer les points de
données dans un espace à n dimensions, ces points de données tombant de
chaque côté de l’hyperplan peuvent être attribués à différentes classes. La
dimension de l’hyperplan dépendent au nombre des entités dans le jeu de
données, si le nombre d’entité égale à 2 l’hyperplan sera une ligne. Et si le
nombre d’entité égal à 3 l’hyperplan devient un plan bidimensionnel .
Vecteur de support :
Les vecteurs de support sont des points de données plus proches de l’hyperplan,
et influencent la position et l’orientation d’hyperplan, la suppression de ces
vecteur modifier la position de l’hyperplan.
46
Chapiter2 L’apprentissage automatique
Avantage de SVM
2.5.5Naïve_Bayes
48
Chapiter2 L’apprentissage automatique
Inconvénient de naïve Bayes
49
Chapiter2 L’apprentissage automatique
2.6 Conclusion
Dans ce chapitre, nous avons présenté les algorithmes d'apprentissage automatique
qui peuvent nous aider a détecter l'apparition précoce du diabète, ce qui peut aider à
réduire les risques des complications de cette maladie sur la santé du patient.
Dans l'étude qui suit, l'objectif principal est d'appliquer ces différents algorithmes (K
nearest neighbors, Decision Trees, Random Forest, Support Vector Machine, Naives
Bayes) de classification sur notre données
50
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
3.1 Introduction
Dans ce dernier chapitre, nous présentons d'abord une étude technique dans laquelle
nous définissons l'environnement logiciel utilisée pour construire notre application,
puis nous définirons notre data set avec une description de ses caractéristiques et les
étapes de pré-traitement des données (explorer, nettoyer, sélection de modèle ...) pour
corriger les valeurs aberrantes et choisir le meilleur modèle a suivre.
A la fin, c'est la partie application ou nous fournissons des interfaces graphiques
importantes développées pour clarifier les performances des activités du système et
nous terminerons par une conclusion.
51
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
3.2Python
Python C'est un langage de programmation multi-paradigme et le langage de
programmation dominant dans la data science avec de nombreuses implémentations
ce qui le rend encore plus intéressant. Concernant le domaine de l'apprentissage
automatique Python se distingue tout particulièrement en orant une pléthore de
librairies de très grande qualité, couvrant tous les types d'apprentissages disponibles
qui combine la facilite d'utilisation et d'apprentissage avec la puissance des librairies
qu'elles possèdent. Parmi ces bibliothèques, nous avons utilisé [21]
jupyter notebook
Jupyter Notebook est un environnement de programmation qui prend en charge
plusieurs langages de programmation, dont Python. Jupyter Notebook nous permet de
créer des documents contenant du code, des équations, des visualisations et du texte.
Ses utilisations comprennent le nettoyage et la transformation des données, la
simulation numérique, la modélisation statistique, la visualisation des données,
l'apprentissage automatique et bien plus encore.
Matplotlib
Matplotlib est une bibliothèque complète pour créer des visualisations statiques,
animées et interactives en Python.
Seaborn
Seaborn est une bibliothèque de visualisation de données Python basée sur matplotlib
. Il fournit une interface de haut niveau pour dessiner des graphiques statistiques
attrayants et informatifs.
Pandas
Pandas est une autre bibliothèque Python utilisée pour la manipulation et l'analyse
des données, le point fort de cette bibliothèque est qu'elle possède une fonctionnalité
importante appelée nettoyage des données qui résout le problème du temps passée à
nettoyer les données dans un projet d'apprentissage automatique car de nombreux
ensembles de données disponibles contiennent des champs vides ou nuls, ce qui peut
avoir un impact négatif énorme sur notre modèle.
NumPy
NumPy est une extension du langage de programmation Python, destinée à manipuler
des tableaux multidimensionnels.
53
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
Scikit-learn
elle est la bibliothèque Python la plus importante pour ce qui concerne l'apprentissage
automatique telle que il contient de nombreux algorithmes ( forêts aléatoires, des
régressions logistiques, des algorithmes de classification, et les machines à vecteurs
de support ) .
Flask
Flask est un petit Framework web Python léger, qui fournit des outils et des
fonctionnalités utiles qui facilitent la création d'applications web en Python. Il offre
aux développeurs une certaine flexibilité et constitue un cadre plus accessible pour
les nouveaux développeurs puisque vous pouvez construire rapidement une
application web en utilisant un seul fichier Python. Flask est également extensible et
ne force pas une structure de répertoire particulière ou ne nécessite pas de code
standard compliqué [23]
54
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
56
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
57
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
59
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
Des informations de chaque colonnes de data, le nombre des records et le nombre des
colonnes
comme (min ,max , mean…) à chaque colonne notez que le minimum de tous les
colonnes est zéro donc il faut les nettoyer
60
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
Nettoyage de data
notez qu’ils n’existe Pas p-c-q il reste les mêmes nombre des lignes et colonnes
61
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
62
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
63
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
64
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
65
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
La matrice de corrélation :
Est une donnée tabulaire chaque ligne et colonne représente une variable et chaque
valeur de cette matrice est le coefficient de corrélation entre les variables représentées
par la ligne et la colonne correspondantes. La matrice de corrélation est une métrique
d'analyse de données importante qui est calculée pour résumer les données afin de
comprendre la relation entre diverses variables et prendre des décisions en
conséquence.
Les valeurs proches de +1 indiquent la présence d'une forte relation positive entre X
et Y, tandis que celles proches de -1 indiquent une forte relation négative entre X et
Y.
Des valeurs proches de zéro signifient qu'il n'y a aucune relation entre X et Y
66
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
67
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
68
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
X Y
train (614 , 8) 614
test (154 , 8) 154
69
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
70
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
71
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
3.6 L’application
Ci-dessous, nous fournissons nos interfaces d'application "diabet_ prediction" dans
le but de permettre aux personnes des savoir s'ils ont le risque de développer un
diabète avec un taux de prédiction bien défini .L'application avoir un adresse local
après l’installation
[Link]
72
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
La page d'accueil
La page d'accueil fournit des informations explicatives générales pour les diabétiques,
ou nous expliquons leur hyper sensibilité à l'épidémie que nous connaissons
actuellement. Cette page fournit des hyperliens vers les autres interfaces que
constitue notre application Web. Ainsi que la forme de la prédiction
La forme de la prédiction
Le but de cette interface est de prédire si une personne est diabétique ou non avec un
taux de prédiction, pour cela il doit remplir le formulaire ci-dessous qui contient les
informations suivantes : Pregnancies, Glucose, BloodPressure, SkinThikness, Insulin,
BMI, DiabetePedigreeFunction et Age.
La forme de resultat
73
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
3.7 Conclusion
Dans ce chapitre, nous avons présenté les différents étapes de prétraitement des
données tels que l'exploration et la visualisation des données ainsi le nettoyage des
valeurs aberrantes. L'application des méthodes d'évaluation nous permet de
sélectionner le modèle SVM comme le meilleur modèle qui a un taux de précision
élevé. A la fin, on a développé une application web qui nous permet de prédire si une
personne
Donnée est diabétique ou pas à partir de ces informations médicales
74
Chapitre 3 La pratique de la prédiction par l’apprentissage automatique
Dans cette Mémoire nous avons mené à faire une comparaison entre cinq algorithmes
d'apprentissage automatique à savoir : l'arbre de décision, Randomforest, naive bayes,
K nearest neighbors et support vector machine, les résultats expérimentaux obtenu
pour l'ensemble de montre que support vector machine est meilleure que les autres
algorithmes en terme de sa grande précision. Sur la base d'un algorithme support
vector machine et que nous avons besoin d'un moyen pour rendre le modèle applicatif
pour tout le monde nous avons développé une solution basé sur une application web
dans le but d'aide les personnes de prédire s'il souffre de diabète En termes de
perspective :
75
Bibliographie
[1] Organisation mondiale de la santé.(2016).Rapport mondial
sur le diabète.88p
[2] Medtronic .Le Diabète En Quelque Mots.[en ligne].Disponible
sur :https ://[Link]/parlons-diabete/le-diabete-
en-quelques-mots
[3] fédération français de Cardiologie .Réduire le risque cardio-
vasculaire LE
[4] CEED :Centre européen d’´etude du Diabète .Diabètes et
complications.[en
[5] La macro angiopathie diabétique. Complications.[en
ligne].(Mis `a jour en juin2015).Disponible sur
:[Link]
[6] Doctissimo. Micro-angiopathie.[en ligne].Disponible sur :
https ://[Link]/sante/dictionnaire-medical/micro-
angiopathie
[7] CEED : Centre européen d’´etude du Diabè[Link] d´dépistage
au cœur des actions de prévention.[en ligne].Disponible sur :
http ://[Link]/blog/diabete-ledepistage-au-coeur-des-
actions-de-prevention/
[8] [Link] (consulter
03/06/2020)
76
[9] Lev Kiwi.(2018).Apprentissage et Machine Learning.[en
ligne].Disponible sur :
https ://[Link]/apprentissage-et-machine-learning/ (consulter
04/06/2020 )
[10] Pensée [Link] Learning pour d’ébutant :
Introduction au Machine Learning.[en ligne].Disponible sur
:http ://[Link]/introduction-au-machinelearning/
(consulter 04/06/2020)
[11] Ga¨el, [Link] Corpus.(2017).Initiation au Machine
Learning avec Python.[enligne].Disponible sur : https ://makina-
[Link]/blog/metier/2017/initiation-aumachine-learning-avec-
python-pratique
[12] [Link].(2019).A Machine Learning Approach to
Network Intrusion Detection System Using K NearestNeighbor
and Random Forest. de master : universit´e de Southern
nearest-neighbor-classification-scikit-learn
[13] Benzaki, [Link] Mint .(2018).Introduction `a l’algorithme K
Nearest Neighbors (KNN).[en ligne].Disponiblesur : https
://[Link]/introduction-k-nearest-neighbors
[14] Gupta, [Link] wards datascience.(2017).Decision Trees in
Machine Learning.[enligne].Disponiblesur :https
://[Link]/decision-trees-in-machinelearning-
641b9c4e8052
[15] Choudhury, [Link] India Magazine.(2019).Beginner’s
Guide To Decisionsur : https //[Link]/beginners-
77
guide-to-decision-trees-why-arethey-crucial-for-data-science-
applications/decision-trees-with-code-dc026172a284
[16] Ismaili, Z.(2019).Le Data Scientist . Apprentissage
Supervisé Vs. Non Supervisé.[enligne].Disponible sur : https
://[Link]/apprentissage-supervise-vs-nonsupervise
neighbors-algorithm-6a6e71d01761
[17] java T [Link] Forest Algorithm.[en ligne].Disponible
sur :https ://[Link]/machine-learning-random-
forest-algorithm
[18] tutorials [Link] Algorithms - Random forest.[en
ligne].Disponiblesur : https ://[Link]/machine
learning with python /machine learning with python
classification algorithms random [Link]
[19] java T [Link] Vector Machine Algorithm.[en
ligne].Disponiblesur :https ://[Link]/machine-
learning-support-vector-machine-algorithm
[20] Tandel, [Link] wards data science.(2017).Support Vector
Machines | A Brief Overview.[en ligne].Disponiblesur :https
://[Link]/support-vectormachines-a-brief-
overview-37e018ae310f
[21] Sharma, [Link] the Mathematics
behind Support Vector Machines.[en ligne].Disponiblesur : https
://[Link]/understanding-themathematics-behind-
support-vector-machines-5e20243d64d5
[22] Gandhi, [Link] wards data science.(2018).Support Vector
78
Machine | Introduction to Machine Learning Algorithms.[en
ligne].Disponiblesur :https ://[Link]/support-
vector-machine-introduction-to-machinelearning-algorithms-
934a444fca 47
[23] laptrinhx.(2019).Naive Bayes Unlocked.[en ligne].Disponible
sur : https ://[Link]/naive-bayes-unlocked-1301819179/
[24] MEHIDI, [Link], S. (2018).Application des
Méthodes d’Apprentissagedans la Prédiction du Diabète de Type
2. mémoire master :Intelligence Artificielle.Département
Informatique. Faculté des Sciences [Link]é [Link]
de Bejaia.79p
[25] Ebrahim, [Link] geeks.(2020). Python Correlation Matrix
Tutoriel.(mise a jour29-07-2020).[en ligne].Disponible sur : https
://[Link]/python-correlationmatrix/
[26] Jupyter.(2017).Project Jupyter .[en ligne].Disponible sur
:https ://[Link]/
[27] [Link]-Test Data Split .[en ligne].Disponible
sur :https ://[Link]/figure/Train-Test-Data-Split
79
Annexe
hémoglobineglyquée (HbA1c)
Ce test représente une "mémoire" globale de la glycémie sur les trois
derniers mois, ilprend donc en compte tous les états, y compris la glycémie
postprandiale.
autosurveillance glycémique (ASG)
autosurveillance glycémique est prescrite par le médecin en fonction du
votre type dediabète et de votre type de [Link] est indispensable
dans le diabète de type 1,nécessaire dans le diabète de type 2
insulinotraitéet variable pour les diabétiques de type2 non
insulinotraité[Link] autosurveillance sert principalement `a contrôler et
prévenir lesdéséquilibres (hypo/hyperglycémies) et à adapter votre
traitement. Elle permet aussi demesurer l’effet d’un aliment, d’une
pratique sportive ou d’une activité physique sur saglycémie.
80