Mémoire 5

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 73

REPUBLIQUE DEMOCRATIQUE DU CONGO

ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE

« Conception par la méthode up d’un


système de prédictions de cancer du foie
par l’apprentissage supervise ».

MWANG A TSHIBANG REBECCA

Mémoire soumis pour l’obtention du diplôme de Licence en


Sciences Informatiques à l’Université Protestante de Lubumbashi

Promotion : BAC3 IG (CSI)

Matricule : 2020022143

Octobre 2023
REPUBLIQUE DEMOCRATIQUE DU CONGO
ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE

« Conception par la méthode up d’un


système de prédictions de cancer du foie
par l’apprentissage supervise».
MWANG-A TSHIBANG REBECCA
Mémoire soumis pour l’obtention du diplôme de Licence en
Sciences Informatiques à l’Université Protestante de Lubumbashi

Directeur : CT DANIEL KATUAL

Co-directeur : Ass JOSE MALABA

Promotion : BAC3 IG (CSI)

Matricule : 2020022143

Octobre 2023
I

DEDICACE

Je dédie ce mémoire au corps scientifique, ces chercheurs et chercheuses dévoués


qui repoussent les frontières de la connaissance. Votre passion pour la recherche,
votre persévérance et votre quête incessante de la vérité ont été une source
d'inspiration pour moi.

Je rends hommage à tous les scientifiques qui ont posé les bases de ce domaine
d'étude et à ceux qui continuent de le faire évoluer. Vos travaux ont ouvert de
nouvelles perspectives et ont éclairé notre compréhension du monde qui nous
entoure.

Je tiens à remercier particulièrement mes superviseurs et mes mentors scientifiques,


qui ont partagé leur expertise avec générosité et qui m'ont guidé tout au long de ce
projet. Votre encadrement et vos conseils éclairés ont été essentiels à ma croissance
en tant que chercheur.

Je suis reconnaissant envers mes collègues scientifiques, avec qui j'ai partagé des
discussions enrichissantes, des idées novatrices et des moments de collaboration.
Votre esprit critique et votre passion pour la science ont renforcé ma propre
motivation.

Enfin, je souhaite exprimer ma gratitude envers toutes les personnes qui ont
contribué à la réalisation de ce mémoire, que ce soit par leurs précieux
commentaires, leur soutien logistique ou leur participation aux discussions
scientifiques.

Que cette dédicace soit un témoignage de ma profonde admiration pour le corps


scientifique et de ma volonté de poursuivre la recherche avec rigueur, intégrité et
passion."
II

REMERCIEMENT

À MES CHERS ET BEAUX PARENTS,


TSHIBANG A BAYEMB CHARLES ET MWAD A IRUNG JULIENNE

Je tiens à exprimer ma profonde gratitude, mes sincères remerciements et


reconnaissance pour votre soutien inconditionnel tout au long de ce parcours
académique. Votre présence, vos encouragements et vos conseils précieux ont été
une source d'inspiration et de motivation pour moi.
Je tiens à remercier mon directeur, CT DANIEL KATUAL, pour sa guidance, son
expertise et ses précieux conseils tout au long de ce processus. Votre soutien
constant, votre disponibilité et votre engagement ont été essentiels pour mener à bien
ce travail de recherche.
Je souhaite exprimer ma reconnaissance envers mon codirecteur, ASS JOSE
MALABA et ASS GABRIEL pour leur temps, leur expertise et leurs commentaires
constructifs lors de l'évaluation de ce mémoire. Vos suggestions et recommandations
ont grandement contribué à améliorer la qualité de ce travail.
Un grand merci à mes enseignants (CT RUPHIN NYAMI, ASS PAUL LUBA, CT
LARRY MPATA, ASS GRACE MOKOMA, ASS DANIEL, ASS MARDOCHEE) de
L’UNIVERSITE PROTESTANTE DE LUBUMBASHI. Pour leur partage de
connaissances, leurs discussions stimulantes et leur soutien mutuel Votre contribution
a enrichi mon expérience académique et a été une source d'inspiration tout au long de
ce parcours.
Je tiens également à exprimer ma gratitude envers mes sœurs (Marie, Mireille,
Lisette, Rachel, Priscilla et Julie) a mes frères(Thierry, Daniel et David) a mes beaux-
frères(Dr Gérard, Dr Delphin, Mr trésor, Mr olivier, Dr Yannick et Mr Jérémie), a mes
belle-sœur(Mrs wivine et Mrs premise) a tous mes neveux et nièces, à mes amis(
Daniel momat, Elsie nshimbi, Amour Nk, Nathan malsa, jeanpy Paker) et a tous mes
collègues (Steve tshiswika, jeannette kalunga, jean kapenga, marie muamba, laure
kayumba, Enock numbi, bienheureux lenge qui ont été une source de soutien et
D’encouragement tout au long de ce voyage. Votre amour, votre compréhension et
votre patience ont été essentiels pour me permettre de me concentrer sur mes études
et de donner le meilleur de moi-même.
III

En fin, je suis reconnaissant envers toutes les personnes qui ont joué un rôle dans la
réalisation de ce mémoire. Votre soutien, votre expertise et votre encouragement ont
été d'une valeur inestimable. Merci du fond du cœur.

MWANG A TSHIBANG REBECCA


IV

TABLE DES MATIERES

INTRODUCTION GENERALE ........................................................................................................... 1


1.1. Concepts central de la recherche .................................................................................. 1
1.1.1. Système intelligent ..................................................................................................... 1
1.1.2. Prédiction du cancer de foie.................................................................................... 2
1.1.3. Apprentissage supervisé.......................................................................................... 2
1.2. Enoncée du problème et questions de la recherche ................................................ 3
1.3. Motivation et objectif de la recherche ........................................................................... 4
1.3.1. Motivation de la recherche ....................................................................................... 4
1.3.2. Objectifs de la recherche.......................................................................................... 5
1.4. Méthodologie de la recherche ......................................................................................... 5
CHAPITRE 1 : REVUE DE LA LITTERATURE .............................................................................. 7
1. Introduction ................................................................................................................................. 7
1.1 ETAT DE L’ART SUR L’APPRENTISSAGE SUPERVISE ........................................... 7
1.1.1. Intelligence artificielle [1] .............................................................................................. 7
1.1.2. Principe de fonctionnement de l’apprentissage automatique ........................... 9
1.1.3. Les types d’apprentissage automatique .................................................................. 9
1.1.3.3. L'apprentissage par renforcement ........................................................................ 14
1.1.4. Les systèmes à base de connaissances ................................................................. 16
1.1.5. Le moteur d’inférence .................................................................................................. 17
1.2. Prédiction vs méthodes traditionnelles .......................................................................... 18
1.3 La médecine prédictive ........................................................................................................ 18
CHAPITRE 2 : ANALYSE METIER DU PROCESSUS DE PREDICTION MEDICALE ......... 21
2.0. Introduction ............................................................................................................................ 21
1 : ANALYSE METIER .................................................................................................................. 21
2.1.1. Présentation du contexte ................................................................................................ 21
2.1.2. Description textuelle ........................................................................................................ 21
2.1.3. Identification des acteurs métier.................................................................................... 22
2 : MODELISATION METIER ...................................................................................................... 23
2.2.1. Diagramme de contexte métier ..................................................................................... 23
2.2.2. Diagramme d’activité métier ....................................................................................... 23
2.2.3. Diagramme de cas d’utilisation métier .................................................................... 24
2.2.4. Modèle du domaine métier.......................................................................................... 25
3 : CRITIQUE METIER .................................................................................................................. 26
V

2.3.1. Points forts ...................................................................................................................... 26


2.3.2. Points faibles .................................................................................................................. 26
2.3.3. Suggestions ...................................................................................................................... 27
2.1. Conclusion partielle ................................................................................................................ 27
CHAPITRE 3 : CONCEPTION DU NOUVEAU SYSTEME DE PREDICTION DU CANCER
DE FOIE « REBECCA-SOFT » ....................................................................................................... 28
3.0. Introduction ............................................................................................................................ 28
3.1. INGENIEURIE DES EXIGENCES DU NOUVEAU SYSTEME ....................................... 28
3.1.1.2. Diagramme de cas d’utilisation du système de prédiction............................. 29
3.1.2. Exigences non fonctionnelles.................................................................................... 31
3.2. Analyse des cas d’utilisations : Description textuelle............................................... 31
3.2.1. Tableau des itérations................................................................................................. 32
3.2.2 Description textuelle de cas d’utilisation................................................................ 32
3.2.3. Diagramme de classes participantes : ........................................................................ 41
3.3. Diagramme de classe de conception ............................................................................. 44
3.4. Architecture Technique de l’application .................................................................... 44
3.4. Diagramme de déploiement ............................................................................................... 46
CHAPITRE 4 : RESULTATS DE LA RECHERCHE .................................................................... 48
4.0. DISCUSSION SUR LE RESULTAT ................................................................................ 48
CONCLUSION .................................................................................................................................... 49
4.1. K PLUS PROCHES VOISINS: Présentation ................................................................ 49
Avantages .................................................................................................................................... 50
Inconvénients .............................................................................................................................. 50
4.2. Langage de programmation .......................................................................................... 50
4.3. Environnement de développement .............................................................................. 51
4.3.1. Jupyter NoteBook..................................................................................................... 52
4.5. Discussions ....................................................................................................................... 54
CONCLUSION GENERALE ............................................................................................................. 55
BIBLIOGRAPHIE ............................................................................................................................... 56
ANNEXES ............................................................................................................................................ 57
VI

LISTE DES TABLES

Tableau 1:tableux des acteurs métiers ..................................................................... 22


Tableau 2—Modélisation du contexte du système ................................................... 30
Tableau 3—Tableau des itérations ........................................................................... 32
Tableau 4:modèle de prédiction ............................................................................... 62
VII

LISTE DES FIGURES

Figure 1. 1—les branches de l'apprentissage automatique ...................................... 10


Figure 1. 2—apprentissage supervisé ...................................................................... 13
Figure 1. 3 Apprentissage non supervisé ................................................................. 14
Figure 1. 4--L'apprentissage par renforcement ......................................................... 15

Figure 2. 1—diagramme de contexte métier............................................................. 23


Figure 2. 2—diagramme d'activité métier ................................................................. 24
Figure 2. 3—diagramme de cas d'utilisation métier .................................................. 25
Figure 2. 4—modèle du domaine métier................................................................... 26

Figure 3. 1—Diagramme de contexte système......................................................... 29


Figure 3. 2—Diagramme de cas d'utilisation de REBECCA SOFT........................... 31
Figure 3. 3—Diagramme de séquence du cas d'utilisation « Gérer utilisateur » ...... 34
Figure 3. 4—Diagramme de séquences détaillées d'Authentification ....................... 35
Figure 3. 5—Diagramme de séquences détaillées du cas d'utilisation « Obtenir
diagnostiques intelligents »....................................................................................... 37
Figure 3. 6—Diagramme de séquences détaillées du cas d’utilisation « Interroger son
état du cancer de foie » ............................................................................................ 39
Figure 3. 7—Diagramme d'activité de prédictions .................................................... 40
Figure 3. 8--Diagramme de séquence détaillée Alimenter DataSet » ....................... 41
Figure 3. 9—Diagramme de classes participantes du cas d'utilisation s'authentifier 42
Figure 3. 10—Diagramme de classe participantes du cas d'utilisation « Alimenter
DataSet ».................................................................................................................. 42
Figure 3. 11—Diagramme de classes participantes du cas d’utilisation « Gérer
utilisateur » ............................................................................................................... 43
Figure 3. 12—Diagramme de classes participantes du cas d’utilisation « Obtenir
Diagnostics intelligents » .......................................................................................... 43
Figure 3. 13—Diagramme de classe de conception détaillée ................................... 44
Figure 3. 14—Architecture Technique du système ................................................... 45
Figure 3. 15—Diagramme de déploiement ............................................................... 46
VIII

Figure 4. 1—Logo de python .................................................................................... 51


Figure 4. 2—Logo anaconda .................................................................................... 52
Figure 4. 3—Jupyter Notebook ................................................................................. 52
Figure 4. 4—Importation de bioéthiques ................................................................... 57
Figure 4. 5—visualisation du 5 premières lignes ...................................................... 57
Figure 4. 6—observations de données numérique de notre jeu de données............ 58
Figure 4. 7—Résultat de test du modèle ..................... Error! Bookmark not defined.
1

INTRODUCTION GENERALE

De nos jours, l’intégration de l’informatique dans le domaine médical a donné


naissance au medtech et ce qui nous amené à la révolution technologique, notamment
l’imagerie médicale, la prédiction, l’opération à distance. Le cancer est une maladie
génétique causé par un dysfonctionnent de la division cellulaire et l’une des principes
des causes des mortalités depuis plusieurs dizaine d’années.

Connaitre de son état de santé en avance est toujours préférable que d’être
surpris de l’évolution de la maladie sans se rendre compte comme le dit une loi de la
nature, vaut mieux prévenir que guérir. Aujourd’hui, le système informatique reste le
moyen sûr pour une prédiction dans le domaine de la médecine. Actuellement le
monde connait une avance technologique dans la prévention dans le domaine médical.
En 2015, il est à l’origine d’environ 8.8 millions de décès dans le monde. Détecté à un
stade avancé, il réduit considérablement l’espérance de vie à moyen et long terme :
moins de 50% des patients vivent plus de 5 ans après la détection de la maladie. Ainsi,
le cancer est un problème sanitaire majeur qui semble faire l’objet de nombreuses
recherches afin de trouver une solution permettant de réduire cette forte mortalité,
notamment avec l’avancée de la technologie [2].

Le foie est un organe de l’appareil digestif qui assure notamment un rôle


d’épuration de l’organisme. Plusieurs types de tumeurs peuvent s’y développer, la
forme la plus fréquente étant le carcinome hépatocellulaire (ou hépato carcinome). Le
foie se situe dans la partie supérieure droite de l’abdomen et pèse environ 1,5 kg [3].

1.1. Concepts central de la recherche


1.1.1. Système intelligent
Ce concept désigne un système doté d’une capacité d’imitation de l’homme. Un
système est qualifié d’intelligent dans la mesure où il apprend seule les observations,
son environnement ensuite, il raisonne, prend de décisions seule sur ce qu’il aurait
enregistré. Le cadre de ce travail, un système intelligent évoque l’idée d’un algorithme,
programme intelligent qui fait de prédiction de de cas de cancer du foie sur base des
entrées historiques.
2

1.1.2. Prédiction du cancer de foie


Le concept de prédiction fait partie des aptitudes des algorithmes de machine
Learning et fait référence à la sortie d’un algorithme qui a été formé sur un jeu de
données historiques. L’algorithme génère ensuite des valeurs probables pour des
variables inconnues dans chaque enregistrement des nouvelles données.

Le but de la prédiction dans l’apprentissage automatique est de projeter un


ensemble de données probables qui se rapporte aux données d’origine. Cela aide les
organisations à prédire les futurs comportements des clients, de cas de maladie et les
changements du marché. Essentiellement, la prédiction est utilisée pour ajuster une
forme aussi proche que possible des données. Avec les prédictions d’apprentissage
automatique, les organisations utilisent des décisions proactives pour éviter le taux de
désabonnement prévu. Pour obtenir le meilleur succès possible avec la prédiction
dans l’apprentissage automatique, les organisations doivent disposer d’une
infrastructure en place pour prendre en charge les solutions et de données de haute
qualité pour fournir l’algorithme.

La prédiction en apprentissage automatique permet aux organisations de faire


des prédictions sur les résultats possibles en fonction des données historiques. Ces
hypothèses permettent à l’organisation de prendre des décisions qui se traduisent par
des résultats commerciaux tangibles. L’analyse prédictive peut être utilisée pour
anticiper le moment où les utilisateurs vont se désabonner ou quitter une organisation.
Avec cette reconnaissance, les organisations ont un meilleur potentiel pour garder les
clients heureux et satisfaits {Citation}.

Le principe de prédiction va se baser sur des données d’un patient comme le


taux de tabac, l’alcoolisme, les antécédents familiaux, … que nous considérons ici
comme de variables (features) ainsi que sur les variables d’autres maisons qui ont été
vendues ou louée pour prédire quel est le le diagnostics de u cancer qui peut être
négatif (que l’on appellera observation).

1.1.3. Apprentissage supervisé


Ce concept évoque le principe qui consiste à entrainer la machine sur un
ensemble de données afin d’avoir l’idée ensuite lui donner un jeu de test pour faire la
prédiction. L'apprentissage supervisé est une technique de Machine Learning
3

(apprentissage automatique) consistant à apprendre une fonction de prédiction à partir


d'exemples annotés.

L’apprentissage supervisé est basé sur les données fournies en entrée doivent
être “étiquetées” (labeled data). En d’autres termes, elles doivent suivre un pattern
connu par l’algorithme afin d’être traitées [1]. Nous allons travailler dans le cadre de ce
travail sur la prédiction de cancer qui est une tâche importante dans l'analyse et
l'exploration de celui-ci. La prédiction de cancer donc, consiste à prédire si la personne
aura le cancer du foie dans le futur en se basant sur des informations existantes
observées.

L'objectif est de donner un sens aux données dans le contexte d’une question
spécifique. L’apprentissage supervisé est utilisé pour des problèmes de classification
et de régression, comme la détermination de la catégorie à laquelle appartient un
article de presse, ou la prévision du volume des ventes pour une date future donnée.

1.2. Enoncée du problème et questions de la recherche


La médecine prédictive s’appuie sur diverses sources de données pour faire des
prédictions sur le risque qu’a un individu de développer une maladie particulière. Ces
données peuvent provenir de dossiers médicaux, d’antécédents familiaux, de facteurs
liés au mode de vie, d’expositions environnementales, d’analyses biologiques et/ou
génétiques. Elles sont ensuite introduites dans des modèles mathématiques qui
génèrent un score de risque pour chaque personne. C’est à ce moment que la
médecine prédictive recourt à l’intelligence artificielle qui lui permet d’affiner au fur et
à mesure les résultats obtenus.

Cependant devant une masse importante de données à analyser par le médecin


avant la prédiction, ce dernier devient impuissant face à une foule immense et cas
sévères à consulter. Ainsi la prédiction traditionnelle actuelle soufre de limites
suivantes :

- Incapacité de dépister au plus tôt la maladie et de la soigner le plus


rapidement possible ;
- Impossibilité de traiter chaque patient de façon individualisée en fonction de
ses spécificités génétiques et environnementales sans prédiction préalable ;
4

- Absence de « Prédictive » capable de permettre la connaissance des risques


qu’une ou plusieurs maladies puissent se développer grâce à la recherche
des risques génétiques et environnementaux.
- Absence d’un outil capable de réconfort du diagnostic d’un médecin.

Comme indiquer ci-haut, les problèmes soulevés est au niveau de la maladie de


cancer du foie, ou nous avons constaté qu’il y avait des gens qui agonisés avec celle-
ci sans le savoir, ce qui ne facilite pas les personnels soignant afin de prendre les
précautions nécessaires d’accorder des années de plus aux patients. C’est pourquoi,
notre interrogation se résume en deux questions importantes qui sont :

• Quel système pouvons-nous concevoir pour détecter et prédire


l’apparition d’un cancer du foie ?

• Quelle méthodologie utilisée pour concevoir un tel système ?

Étant une réponse provisoire que le chercheur se propose, nous partirons de


cette idée pour formuler notre hypothèse en ce terme :

 Premièrement, nous allons concevoir un système de prédictions de cancer du


foie par l’apprentissage supervisé, qui permettra de prédire le cancer du foie
dans le futur en se basant sur des informations existantes observées.

 Deuxièmement, nous allons adopter la méthode UP (unified process) qui veut


dire en français méthode d’unification de processus basé sur le langage UML
(unified modeliz language) qui est un langage de modélisation unifié.

1.3. Motivation et objectif de la recherche


1.3.1. Motivation de la recherche
La recherche la prédiction du cancer du foie nous motive, pour
l’approfondissement de nos connaissances sur le domaine d’intelligence artificielle, la
vengeance contre cette maladie qui frappe la population. Premièrement, nous avons
constaté le taux de Prévalence élevée : Le cancer du foie est l'un des cancers les plus
courants dans le monde, avec une incidence en constante augmentation. Il représente
un problème de santé publique majeur, touchant des millions de personnes chaque
5

année. La possibilité de prédire le cancer du foie de manière précoce et précise


pourrait permettre une détection précoce et une intervention médicale appropriée,
améliorant ainsi les chances de survie et de traitement.

Sur le plan social, la motivation principale est l’avertissement sur la santé


humaine afin de sauver de vie.

1.3.2. Objectifs de la recherche


Objectif de notre recherche est d’identifier les individus a risque élevé du
cancer, par développement d’un système intelligent de prédiction du cancer de foie.

De manière spécifique, le modèle devrait permettre :

- La Détection précoce : Un objectif important est de détecter le cancer du foie


à un stade précoce, lorsque les chances de traitement et de survie sont plus
élevées. Le système de prédiction doit être capable d'identifier les signes
précoces de la maladie et d'alerter les professionnels de la santé pour une
intervention rapide.
- Précision et fiabilité : Le système de prédiction doit être précis et fiable, en
minimisant les faux positifs et les faux négatifs. Il doit être capable de
distinguer avec précision les individus à risque élevé de développer un cancer
du foie des individus à risque faible ou nul.
- Facilité d'utilisation : Le système de prédiction doit être convivial et facile à
utiliser pour les professionnels de la santé. Il doit fournir des résultats clairs
et compréhensibles, accompagnés d'explications sur les facteurs de risque et
les caractéristiques prédictives.
1.4. Méthodologie de la recherche
La méthodologie du travail se présente comme suit :

- L’analyse de besoins : dans cette phase, nous avons analysé les besoins du
système par l’élaboration des diagrammes : cas d’utilisation, activité, classes
pour décrire respectivement les services offerts, le déroulement de
processus, les structures de données médicales utilisées dans la prédiction
de cancer du foie.
6

- Conception : nous avons décrit en détails chaque fonctionnalité en fournissant


les classes participantes, les interactions dynamiques au moyen de
diagramme de séquence, les classes de conception détaillées.
- Construction : nous avons construit notre jeu de données, ensuite il s’est est
suivi de la construction du modèle, le test et la prédiction comme l’illustre la
figure suivante.

Comme outils méthodologique, nous avons utilisé les techniques suivantes :

 Technique de modélisation : Cette technique nous a permis de concevoir


notre système avec la méthode UP.

 Technique de développement : Cette technique permet de développer


du code dans un langage de programmation.

Hormis l’introduction et conclusion générale, notre travail est reparti de la


manière que voici :
1er chapitre : REVUE DE LA LITTERATURE, dans ce chapitre, nous allons exposer
les concepts de base.

2em chapitre : ANALYSE METIER DU PROCESSUS DE PREDICATION MEDICALE,


ici, nous allons étudier le processus de la détection de cancer du foie en épinglant les
points forts, faibles et des suggestions.

3em chapitre : CONCEPTION DU SYSTEME REBECCA-SOFT, dans ce chapitre,


nous allons concevoir notre système avec les différents diagrammes notre système.

4em chapitre : RESULTAT DE REBECCA-SOFT, dans ce chapitre, nous allons


expliquer le processus de fonctionnement de notre système.
7

CHAPITRE 1 : REVUE DE LA LITTERATURE


1. Introduction
Dans ce chapitre, nous allons parler les points essentiels de l’intelligence artificielle,
en se concentrant sur l’apprentissage supervisé.

1.1 Etat de l’art sur l’apprentissage supervise


Souvent, il y a de fortes chances que l'apprentissage automatique alimente les
applications que vous utilisez tous les jours, l'apprentissage automatique est déjà
omniprésent, probablement la plupart des gens ne s'en rendent pas compte. C'est la
technologie sous-jacente à de nombreuses applications de notre Smartphone, des
assistants virtuels comme Siri à la prédiction des modèles de trafic avec Google Maps.

1.1.1. Intelligence artificielle [1]


L'intelligence artificielle (IA) vise donc à reproduire au mieux, à l'aide de
machines, des activités mentales, qu'elles soient de l'ordre de la compréhension, de
la perception, ou de la décision. Par là même, l'IA est distincte de l'informatique, qui
traite, trie et stocke les données et leurs algorithmes. Le terme « intelligence » recouvre
ici une signification adaptative, comme en psychologie animale. Il s'agira souvent de
modéliser la résolution d'un problème, qui peut être inédit, par un organisme. Si les
concepteurs de systèmes experts veulent identifier les savoirs nécessaires à la
résolution de problèmes complexes par des professionnels, les chercheurs, travaillant
sur les réseaux neuronaux et les robots, essaieront de s'inspirer du système nerveux
et du psychisme animal. [1]

 Définition 01 : L’apprentissage automatique est un sous-domaine de


l’intelligence artificielle (IA) qui se concentre sur la conception de systèmes qui
apprennent – ou améliorent le rendement – en fonction des données qu’ils
consomment. L’intelligence artificielle est un terme général qui se rapporte aux
systèmes ou aux machines qui imitent l’intelligence humaine. L’apprentissage
automatique et l’intelligence artificielle sont souvent évoqués ensemble; les
termes sont parfois utilisés de façon interchangeable, mais ne signifient pas la
même chose. Une importante distinction est que même si tout apprentissage
automatique repose sur l’intelligence artificielle, cette dernière concerne bien
plus que l’apprentissage automatique.
8

 Définition 02 : L'apprentissage automatique est un sous-domaine de


l'intelligence artificielle, qui donne un système la capacité de compréhension
par différents algorithmes. Il est basé sur l'idée d'enseigner les algorithmes à
partir de données et de faire des prédictions avec, et avec cela, l'ordinateur
apprend à résoudre des tâches spécifiques, sans avoir à programmer la
solution de la tâche.
 Définition 03 : Apprentissage (machine Learning) = discipline visant à la
construction de règles d’inférence et de décision pour le traitement automatique
des données.Variantes : machine Learning, fouille de données (data-
mining).Par définition, L’apprentissage automatique (en anglais : machine
Learning), apprentissage artificiel ou apprentissage statistique est un champ
d’étude de l’intelligence artificielle qui se fonde sur des approches
mathématiques et statistiques pour donner aux ordinateurs la capacité
d’apprendre à partir de donnée [3]

Figure 1:Machine Learning

• Le développement des moyens informatiques fait que l’on est confronté à des
données de plus en plus complexes.

• Les méthodes traditionnelles se révèlent souvent peu éfficace face à ce type de


données.

• Nécessité de proposer des algorithmes/modèles statistiques qui apprennent


directement à partir des données.
9

1.1.2. Principe de fonctionnement de l’apprentissage automatique


Les algorithmes d'apprentissage automatique sont décrits comme
l'apprentissage d'une fonction cible (f) qui mappe au mieux les variables d'entrée (X)
à une variable de sortie (Y): Y = f(X). Il s'agit d'une tâche d'apprentissage générale où
nous aimerions faire des prédictions dans le futur (Y) à partir de nouveaux exemples
de variables d'entrée (X). Nous ne savons pas à quoi ressemble la fonction (f) ni sa
forme. Si nous le faisions, nous l'utiliserions directement et nous n'aurions pas besoin
de l'apprendre à partir de données à l'aide d'algorithmes d'apprentissage automatique.
Le type d'apprentissage automatique le plus courant consiste à apprendre le mappage
Y = f(X) pour faire des prédictions de Y pour le nouveau X. C'est ce qu'on appelle la
modélisation prédictive ou l'analyse prédictive et notre objectif est de faire les
prédictions les plus précises possibles.

En principe, similaire à l'apprentissage humain. De la même manière que,


par exemple, un enfant apprend que certains objets peuvent être vus sur des images,
un ordinateur peut aussi "apprendre" à identifier des objets ou à distinguer des
personnes. Pour ce faire, le logiciel d'apprentissage est d'abord alimenté en données
et entraîné. Par exemple, les programmeurs indiquent au système qu'un objet
particulier est "un chien" et qu'un autre n'est "pas un chien".

Le logiciel d'apprentissage reçoit en permanence des commentaires du


programmeur, que l'algorithme utilise pour adapter et optimiser le modèle : avec
chaque nouvel ensemble de données, le modèle s'améliore et peut finalement
distinguer clairement les chiens des non-chiens.

1.1.3. Les types d’apprentissage automatique


On distingue différents types d’algorithmes Machine Learning.
Généralement, ils peuvent être répartis en deux catégories : supervisés et non
supervisés.
10

Figure 1. 1—les branches de l'apprentissage automatique

1.1.3.1. Problèmes d’apprentissage supervisé


L’apprentissage supervisé est fait en utilisant une vérité, c’est-à-dire qu'on a
une connaissance préalable de ce que les valeurs de sortie pour nos échantillons
devraient être. Par conséquent, le but de ce type d'apprentissage est d’apprendre une
fonction qui, compte tenu d’un échantillon de données et de résultats souhaités, se
rapproche le mieux de la relation entre les entrées et les sorties observables dans les
données.

 Régression : Dans les problèmes de régression, nous faisons des prédictions


de valeur réelle. Fondamentalement, nous essayons de tracer une ligne/un
plan/un plan à n dimensions le long des exemples de formation. Le modèle de
régression les plus courants c’est la régression linéaire
 La régression linéaire : La régression linéaire est un modèle linéaire, par
exemple un modèle qui suppose une relation linéaire entre les variables
d'entrée (x) et la variable de sortie unique (y). Plus précisément, cette variable
de sortie (y) peut être calculée à partir d'une combinaison linéaire des variables
d'entrée (x).
11

Sur l'image ci-dessus, il y a un exemple de dépendance entre la variable d'entrée x et


la variable de sortie y . La ligne rouge dans le graphique ci-dessus est appelée la ligne
droite la mieux ajustée. Sur la base des points de données donnés (exemples
d'entraînement), nous essayons de tracer une ligne qui modélise le mieux les points.
Dans le scénario du monde réel, nous avons normalement plus d'une variable d'entrée.

Classification : Dans les problèmes de classification, nous divisons les exemples


d'entrée selon certaines caractéristiques.

 Arbre de décision : Les arbres de décision sont un modèle populaire utilisé


dans la recherche opérationnelle, la planification stratégique et l'apprentissage
automatique. Chaque carré au-dessus s'appelle un nœud. Plus vous avez de
nœuds, plus votre arbre de décision sera précis (en général). Les derniers
nœuds de l'arbre de décision au niveau desquels une décision est prise sont
appelés les feuilles de l'arbre. Chaque feuille (ou nœud terminal de l'arbre)
représente soit une valeur de la variable-cible, soit une distribution de
probabilité des diverses valeurs possibles de la variable-cible. La combinaison
des valeurs des variables d'entrée est représentée par le chemin de la racine
jusqu'à la feuille. L'ensemble d'apprentissage est généralement fourni sous la
forme d'enregistrements du type : (x, y)= (x1, x2, x3,… , xk, Y) La variable Y
désigne la variable-cible que l'on cherche à prédire, classer ou généraliser. Le
vecteur X est constitué des variables d'entrée x1, x2, x3 etc. qui sont utilisées
dans ce but. Il existe deux principaux types d'arbre de décision en fouille de
données :
12

Les arbres de classification (Classification Tree) permettent de prédire à quelle classe


la variable-cible appartient, dans ce cas la prédiction est une étiquette de classe.

Les arbres de régression (Regression Tree) permettent de prédire une quantité réelle
(par exemple, le prix d'une maison ou la durée de séjour d'un patient dans un hôpital),
dans ce cas la prédiction est une valeur numérique.

 Forêt aléatoire : La forêt aléatoire, comme son nom l'indique, se compose d'un
grand nombre d'arbres de décision individuels qui fonctionnent comme un
ensemble. Chaque arbre individuel dans la forêt aléatoire crache une prédiction
de classe et la classe avec le plus de votes devient la prédiction.

En termes simples : la forêt aléatoire crée plusieurs arbres de décision et les fusionne
pour obtenir une prédiction plus précise et plus stable.

L'un des grands avantages de la forêt aléatoire est qu'elle peut être utilisée à la fois
pour les problèmes de classification et de régression, qui constituent la majorité des
systèmes d'apprentissage automatique actuels. Examinons la forêt aléatoire dans la
classification, car la classification est parfois considérée comme la pierre angulaire de
l'apprentissage automatique.

 La régression logistique : C’est l'analyse de régression appropriée à effectuer


lorsque la variable dépendante est dichotomique (binaire). Comme toutes les
analyses de régression, la régression logistique est une analyse prédictive. La
régression logistique est utilisée pour décrire les données et pour expliquer la
relation entre une variable binaire dépendante et une ou plusieurs variables
indépendantes nominales, ordinales, d'intervalle ou de rapport.

En d'autres termes, la variable dépendante (sortie) pour le modèle de


régression logistique peut être décrite comme :

- SVM : Machine à vecteurs de support (SVM) est un classificateur discriminant


formellement défini par un hyperplan séparateur. En d'autres termes, étant
donné les données d'entraînement étiquetées (apprentissage supervisé),
l'algorithme génère un hyperplan optimal qui catégorise les nouveaux.
13

Supposons qu'il existe deux classes de données. Une machine à vecteurs de support
trouve un hyperplan ou une frontière entre les deux classes de données qui maximise
la distance entre les deux classes (voir ci-dessous). De nombreux niveaux peuvent
séparer les deux classes, mais un seul niveau peut maximiser la marge ou
l'espacement entre les classes.

Figure 1. 2—apprentissage supervisé

Dans l'apprentissage supervisé, on a deux types d'algorithmes :

- Les algorithmes de régression, qui cherchent à prédire une valeur continue,


une quantité.

- Les algorithmes de classification, qui cherchent à prédire une


classe/catégorie.

I.1.3.2. L’apprentissage non-supervisé


Contrairement à l'apprentissage supervisé, l'apprentissage non supervisé est
utilisé pour tirer des conclusions et trouver des modèles à partir des données d'entrée
sans se référer aux résultats étiquetés. Deux méthodes principales utilisées dans
l'apprentissage non supervisé comprennent le clustering et la réduction de
dimensionnalité.
14

Figure 1. 3 Apprentissage non supervisé

Les algorithmes de ce type d'apprentissage peuvent être utilisés pour trois


types en problèmes.

 Association : un problème où on désire découvrir des règles qui décrivent de


grandes portions de ses données. Par exemple, dans un contexte d'une étude
de comportement d’achat d'un groupe de clients, les personnes qui achètent
tel produit ont également tendance à acheter un autre produit spécifique.
 Regroupement : un problème où on veut découvrir les groupements inhérents
aux données, comme le regroupement des clients par le comportement
d’achat.
 La réduction de dimension : on vise à réduire le nombre de variables à
prendre en compte dans l’analyse.

1.1.3.3. L'apprentissage par renforcement


L'apprentissage par renforcement est une méthode qui consiste à optimiser
de manière itérative un algorithme uniquement à partir des actions qu'il entreprend
et de la réponse associée de l'environnement dans lequel il évolue.
15

Figure 1. 4--L'apprentissage par renforcement

Cette méthode permet aux machines et aux agents de déterminer


automatiquement le comportement idéal dans un contexte spécifique pour maximiser
ses performances. Une simple rétroaction de récompense, connue sous le nom de
signal de renforcement, est nécessaire pour que l’agent apprenne quelle action est la
meilleure.

1.1.3.4. Fonctionnement l’apprentissage supervisé


Dans l’apprentissage supervisé, les données d'entrainement fournies aux
machines fonctionnent comme le superviseur qui apprend aux machines à prédire
correctement la sortie. Il applique le même concept qu’un élève apprend dans la
supervision de l’enseignant.

L’apprentissage supervisé, c’est lorsque l'on a des variables d’entrée x et


une variable de sortie y et qu'on utilise un algorithme pour apprendre la fonction de
mappage de l’entrée à la sortie.

y=f(x)

Cela se fait sur plusieurs étapes : pour mieux comprendre, nous prendrons
comme exemple un jeu de données où x représente les caractéristiques d'un
16

logement, le phénomène étudié correspondant au marché immobilier, la


réponse f(x) correspondrait au prix de ce logement.

1.1.4. Les systèmes à base de connaissances


L’ingénierie des connaissances étudie les concepts et les méthodes
permettant de modéliser et d’acquérir des connaissances. Son objectif est de faciliter
la conception et la réalisation de systèmes informatiques “intelligents” que l’on appelle
les Systèmes à Base de Connaissances (SBC). Ce domaine de recherche est
pluridisciplinaire. Il fait appel à la logique pour la construction de modèles formels, a la
linguistique pour la formulation des connaissances et évidement à l’informatique pour
la mise en application des modèles definis. Un système à base de connaissances est
un programme capable de raisonner pour résoudre un certain problème en s’aidant de
connaissances relatives au domaine d’application considère. Les systèmes ont basé
de connaissances comportent une fonction de représentation des connaissances
associée à une fonction de manipulation des connaissances représentées appelée
raisonnement.

L’acquisition des connaissances est un processus complexe et se présente


souvent comme un goulot d’étranglement lors de la mise en œuvre des systèmes à
base de connaissances. L’implantation de ce type de systèmes est donc un processus
fastidieux qui demande des compétences techniques spécifiques et souvent beaucoup
de temps. De plus, une fois mis en service, les systèmes sont souvent lents et il est
très difficile de maintenir les gros volumes de connaissances qu’ils contiennent, si bien
qu’ils risquent de devenir obsolètes ou non conformes à la réalité.

Le raisonnement à partir de cas, que nous présenterons ci-dessous, apporte


des solutions partielles aux problématiques évoquées ici. En particulier, il répond au
problème de la licitation des connaissances puisque ces dernières ne sont plus
présentes dans le système a priori mais sont introduites au fur et a mesuré grâce à un
processus d’apprentissage. Dans cette section, nous allons présenter les deux
catégories de systèmes à base de connaissances que nous manipulerons par la suite
: les systèmes à base de règles et les systèmes de raisonnement à partir de cas.
17

1.1.5. Le moteur d’inférence


Le moteur d'inférence est capable d'utiliser faits et règles pour produire de
nouveaux faits, jusqu'à parvenir à un objectif ou à la réponse à la question posée
initialement. La définition des règles pertinentes dépend des algorithmes de résolution
inclus dans le moteur d’inférence. Les plus couramment utilisés sont le chaînage avant
(partant des faits pour en rechercher les conséquences) et le chaînage arrière (partant
des conclusions envisagées pour vérifier si les conditions sont réunies). Toute la
difficulté de la mise en place d’un système expert réside dans l’acquisition des
connaissances d’un expert et de leur formalisation en tant que faits (données
manipulées) et règles. Les systèmes experts possèdent un certain nombre de points
forts. Tout d’abord, l’encapsulation (ou la représentation) de la connaissance sous la
forme de règles logiques permet la maintenance de la base de règles, ensuite, cela
favorise la transmission du savoir ou l’extension à d’autres domaines (par l’ajout de
règles plus spécifiques si nécessaire).

Ensuite, le système expert peut expliquer son raisonnement (« quelles règles


ont été appliquées ? »), ce qui permet à l’utilisateur de juger de son niveau de fiabilité
(ou d’invalider un raisonnement). L'enjeu éthique de la transparence des moteurs d'IA
est d'ailleurs surveillé par la CNIL La mise au point d’un système expert peut être
réalisé rapidement et est d’une grande fiabilité. Il est maitrisé par ses concepteurs.

Enfin les systèmes experts peuvent raisonner sur des données partiellement
connues avec de la logique floue par l’utilisation de coefficients ou poids associés à
certaines règles, c’est-à-dire des connaissances approximatives ou incertaines
comme « la température du four est très élevée », « l’enfant est grand », « le contrat
est important » …

L'expression « système à base de connaissances » fait référence à de


nombreux types de systèmes qui sont tous établis sur une représentation explicite des
connaissances (base de connaissances) et un système de raisonnement (moteur
d'inférences) lui permettant de dériver de nouvelles connaissances. Le moteur
d'inférence, permet d'inférer de nouvelles connaissances. Le plus souvent, cela peut
prendre la forme de la règle de l'IF-THEN associée à des approches de chaînage en
avant ou en arrière. C’est pourquoi, nous allons utiliser les deux éléments pour la
18

conception de notre système de prédiction de cancer du foie ce qui nous permettra


d’avoir une base de connaissance chargé de stocker les diagnostics réalisés par un
médecin et le moteur d’inférence pourra faciliter la prédiction à partir des données
existantes dans la base de connaissance.

1.2. Prédiction vs méthodes traditionnelles

La prédiction de l’apprentissage automatique est préférée aux méthodes


traditionnelles, car elle est généralement un meilleur prédicteur. Étant donné que
l’apprentissage automatique utilise des algorithmes, il peut identifier des modèles et
des relations que les humains ne peuvent pas identifier. Des ensembles de données
plus importants peuvent également être analysés et transformés en prédictions. Les
méthodes traditionnelles utilisent des humains pour le calcul, ce qui nécessite plus de
temps, d’argent et est sujet à des biais par l’émotion ou l’opinion humaine. Avec les
utilisateurs et le marché en constante évolution, la prédiction de l’apprentissage
automatique offre également l’avantage de s’adapter rapidement et d’une plus grande
efficacité.

Prédiction vs classification : La classification consiste à séparer les


données en classes, tandis que la prédiction consiste à ajuster une forme qui se
rapproche le plus possible des données.

Statistiques de prédiction vs inférence : La prédiction est le processus


d’un modèle d’apprentissage automatique prédisant des points de données potentiels.
Les statistiques d’inférence évaluent la différence entre les variables de prédiction et
de réponse

1.3 La médecine prédictive


La médecine prédictive vise à améliorer la stratification (par catégories de
risque) et la prise en charge des individus en fonction de leur probabilité de développer
une maladie particulière à l’avenir, en se basant sur les données biologiques
(génétique, sang), les données médicales (histoire familiale, antécédents personnels)
et leur style de vie. Son objectif est d’adapter le dépistage selon le risque de l’individu
afin de dépister au plus tôt la maladie et de la soigner le plus rapidement possible. Les
recours à des traitements lourds et invasifs ainsi que le risque de mortalité diminuent
19

donc. La médecine prédictive relève du champ de la médecine personnalisée, qui


selon l’Inserm, propose de « traiter chaque patient de façon individualisée en fonction
de ses spécificités génétiques et environnementales ».

Elle s’intègre dans le nouveau paradigme de la médecine 2.0 avec les


fameux 6P :

- « Personnalisée » : C’est adapter la prise en charge (traitement, soins, etc.…)


de chaque individu en fonction de ses caractéristiques individuelles. C’est
aussi connaître et prendre en compte la prédisposition de chacun à
développer certaines maladies, grâce à l’identification du profil de risque
génétique et environnemental
- « Préventive » : C’est ajuster les messages de prévention aux spécificités
d’une population cible ou à un profil de patient spécifique, grâce aux données
de santé. Celles-ci permettent de reconnaître les facteurs de risque pour
certaines maladies, dans des régions bien identifiées, ou par groupe de
population.
- « Prédictive » : C’est permettre de connaître les risques qui qu’une ou
plusieurs maladies puissent se développer grâce à la recherche des risques
génétiques et environnementaux.
- « Participative » : C’est inclure l’individu quand il tombe malade aux décisions
en lien avec sa santé, les soins, etc… Dans l’objectif d’établir un véritable
partenariat de soins.
- « Pertinente » (ou basée sur les « Preuves ») : C’est prendre les décisions
sur le traitement et les soins à prodiguer à chacun, individuellement, en tenant
compte des habitudes de vie, du profil génétique voire même, de la
profession. Le tout en se basant sur la recherche scientifique et les données
historiques.
- « Pluri professionnelle » ou « Parcours de soins » : C’est assurer une
coordination des multiples interventions (médicales, sociales, de médecine
du travail, etc.) quand un individu est suivi. Le parcours s’articule alors
progressivement, en fonction de la pathologie et de son évolution.
20

Conclusion partielle

Dans ce chapitre, il a été question de parler sur la théorie fonctionnelle sur les
concepts nécessaires de notre sujet, dont nous avons l’intelligence artificielle,
l’apprentissage supervisé, les systèmes de base des connaissances, le moteur
d’inférence. Ce chapitre nous a permis de comprendre le cadre théorique de notre
travail afin de comprendre le fonctionnent de notre solution informatique. Dans le
chapitre suivant, nous allons présenter une étude de diagnostic du processus existant.
21

CHAPITRE 2 : ANALYSE METIER DU PROCESSUS DE PREDICTION


MEDICALE
2.0. Introduction
Ce chapitre représente le domaine d’étude et consistera à faire une étude
approfondie du système existant enfin de dégager les failles après critique et proposer
des solutions qui pourront permettre à la population une détection rapide de la maladie
afin de prévenir son évolution.

1 : Analyse métier
2.1.1. Présentation du contexte
Le cancer du foie est un cancer silencieux, c’est-à-dire qu’il ne provoque des
symptômes qu’à un stade avancé de la maladie. C’est pourquoi, plus ce cancer est
détecté tôt, plus sa prise en charge sera optimale.
La consommation de tabac est associée à une augmentation du risque de plusieurs
cancers dont le cancer du foie. Un cancer du foie survient lorsque des cellules du foie,
initialement normales, se transforment et se multiplient de façon anarchique jusqu’à
former une tumeur maligne.

2.1.2. Description textuelle


 Comment se détecte le cancer du foie ?

Le médecin va tout d’abord rechercher si vous avez des facteurs de risque de cancer
du foie et notamment si vous êtes atteint d’une cirrhose. En effet, le cancer du foie ou
carcinome hépatocellulaire (CHC) survient dans 90 % des cas chez les patients
atteints de cirrhose. L’obésité, la consommation excessive ou régulière d’alcool et
les hépatites B et C sont également des facteurs de risque à prendre en compte.

Pour établir le diagnostic, votre médecin:

 Interroge sur les symptômes s’il y en a ;


 Regarde vos antécédents de santé (antécédent de cancer ou présence de
cancer dans votre famille…) ;
 Recherche les éventuels facteurs de risque ;
 Effectue un examen clinique (palpation de l’abdomen, constatation d’une
jaunisse (ictère)) ;
22

 Prescrit un certain nombre d’examens comme un bilan sanguin (recherche


d’une hépatite virale, du VIH, des marqueurs permettant de savoir si l’activité
de votre foie est normale…) et un bilan d’imagerie (échographie, IRM…) pour
compléter le diagnostic.

Il existe différentes options thérapeutiques pour traiter le cancer du foie, le choix


du traitement le plus adapté est spécifique à chaque patient et se fait selon des critères
bien précis. Certains facteurs de risques peuvent favoriser le développement d’un
cancer du foie, par exemple dans 75 % à 80 %² des cas sur une cirrhose. C’est
pourquoi un suivi régulier et de la prévention sont nécessaires pour optimiser la prise
en charge.

2.1.3. Identification des acteurs métier


Une responsabilité ou un acteur représente un rôle joué par une entité externe
ou interne (utilisateur humain, dispositif matériel ou autre système) qui interagit
directement avec le système étudié [1].

Tableau 1:tableux des acteurs métiers

N° ACTEUR DESCRIPTION

1 Médecin Examine le patient de la maladie,


diagnostiquer et prévenir le cancer du foie.

2 Réceptionniste Chargé d’accueillir des patients et établir la


fiche

3 Laborantin Chargé d’examiner pour les patients

4 Infirmier Chargé de suivre l’évolution des patients

5 Patient Celui ou celle qui veut se faire examiner s’il y


a le cancer du foie.
23

2 : MODELISATION METIER
2.2.1. Diagramme de contexte métier
Le diagramme de contexte métier est basé sur la visualisation graphique de
l’interaction des données et des processus métier à travers un système d’information.
Ce diagramme comporte trois composants principaux qui incluent des entités
externes, des processus système, des flux de données. C’est aussi l'ensemble d’objets
échangés (produits, services et/ou informations) entre un système organisationnel (la
boîte noire) et des acteurs de l'environnement externe du système à l'étude [2].

Figure 2. 1—diagramme de contexte métier

2.2.2. Diagramme d’activité métier


Le diagramme d'activité est attaché à une catégorie de classe et décrit le
déroulement des activités de cette catégorie. Le déroulement s'appelle "flot de
contrôle". Il indique la part prise par chaque objet dans l'exécution d'un travail [3]. Notre
diagramme se présente de la manière suivante :
24

Figure 2. 2—diagramme d'activité métier

2.2.3. Diagramme de cas d’utilisation métier


Le diagramme de cas d’utilisation métier décrit les communications entre
les acteurs et les services métier qu’ils consomment pour atteindre leur but métier
grâce aux résultats produits par ces services. Ce diagramme définit également une
séquence d’actions exécutées par un métier et qui renvoie une valeur de résultat
observable a un acteur métier particulier ou qui indique comment le métier réagit à un
évènement métier décrit les possibilités d'interaction entre le système et les acteurs,
c'est-à-dire toutes les fonctionnalités que fourni l’organisation. Il montre les interactions
fonctionnelles entre les acteurs et le système à l’étude [3].
25

uc Use CaseMetier

SYSTEME DE CANCER DU FOIE

Solliciter
traitement Examiner
patients
PATIENT

payer LABORANTIN
montant

consulter
patient
administrer
INFIRMIER traitement

suivre prescrire
traitement traitement
MEDECIN

Etablir fiches consulter


rapport
RECEPTIONISTE
rechercher
fiches

Figure 2. 3—diagramme de cas d'utilisation métier

2.2.4. Modèle du domaine métier


Le diagramme de classe de domaine est un diagramme de classes qui
montre les classes principales du système dépourvues de ses méthodes. Un modelé
du domaine n’est pas une description d’objets logiciels mais une visualisation des
concepts d’un domaine du monde réel. On parle d’objet conceptuel ; ces objets doivent
être des concepts du domaine d’application (objets métiers) et non des objets
informatiques. Il correspond à la sémantique des données sur lesquelles reposent tous
les traitements du domaine [1].
26

class Use Case Model

CONSULTATION
- dateC: date
- dateRendezVous: date LABORANTIN FICHE
- diagnotics: char
- heureService: char - dateF: char
- numCons: int
- nomL: char - MontantF: double
- plaintesC: char
- NumL: int - motif: char
+ addDiagno(): void - numOrdre: int - NomF: char
+ addPlaintes(): void - NumF: int
+ creer(): void 1..*
+ editer(): void 1 1
1..* examiner

consulter appartenir
1
1 etablir
MEDECIN
PATIENT 1
- nomM: char
- age: char
- nOrdre: int
consulter - genre: char
- NumM: int
- nomP: char
- specialité: char 1..* 1 - numP: int
+ consulter(): void 1..*
+ traiter(): void 1
RECEPTIONISTE
administrer traitement - NomR: char
1 - NumRec: int
+ EtablirFiches(): void
INFIRMIER
- heureService: char
- nomInf: char
- numInf: int
+ adminitrerTraitement(): void

Figure 2. 4—modèle du domaine métier

3 : critique métier
2.3.1. Points forts
Apres examens, là on peut affirmer l’existence de cancer du foie sans avoir
doute.ca permet au médecin de suivre particulièrement le cas du patient concerné.il
arrive aussi parfois que les médecins mettent leurs idées pour traiter un cas comme
celui du cancer du foie ensemble avec ces collègues.

2.3.2. Points faibles


 La lenteur dans le diagnostic de la maladie
 Le cas de mortalité lors du processus qui prend du temps
 Le suivi du médecin pendant longtemps peut-être fatiguant à cause d’un volume
élevé des patients
27

 La découverte de la maladie a un stade avancé


 Malgré la présence médicale toutes les opérations liées à la consultation de
cette maladie demeurent encore lent ou les opérations son traite pendant un
long moment

2.3.3. Suggestions
Nous proposons un système de prédiction de cette maladie pour aide le corps
médical et les patients à connaitre leurs pourcentages à pouvoir attraper cette maladie
et recevoir des médicaments ou soins pour leur bien-être. Le système nous permettra
de pouvoir prédire le cancer de foie de savoir à quel pourcentage, l’utilisateur est-il
exposé à pouvoir attrapée cette maladie et lui propose un remède.

2.1. Conclusion partielle


En résumé, ce chapitre nous a permis de faire une étude préliminaire, l’analyse
métier ainsi que la critique métier. Il a permis de nous fixer sur les besoins fonctionnels
et non fonctionnels de notre nouveau système.

Dans le chapitre suivant, nous allons présenter et concevoir notre nouveau système.
28

CHAPITRE 3 : CONCEPTION DU NOUVEAU SYSTEME DE


PREDICTION DU CANCER DE FOIE « REBECCA-SOFT »
3.0. Introduction
Dans ce chapitre, il est question de concevoir l’architecture fonctionnelle,
structurelle et technique de notre système de prédiction du cancer de foie en
application la méthode UP et le langage de modélisation UML. Pour rappel, notre
étude vise à prédire ces maladies en utilisant un algorithme de Machine Learning à
savoir, K-plus proche voisins.

3.1. Ingénierie des exigences du nouveau système


A présent nous allons appliquer l'ingénierie des exigences pour développer un
référentiel d'exigences de notre système de prédiction du cancer de foie. Pour cela
nous allons développer deux types d’exigences à savoir : les exigences fonctionnelles
et non fonctionnelles.

3.1.1. Exigences fonctionnelles


C’est une étape qui nous permet de recenser les besoins exigences
fonctionnelles effectués par le système. Les besoins fonctionnels sont l’expression de
ce que le produit ou le service délivré devrait faire dans le système. Ces besoins
expriment les fonctionnalités concrètes du système c’est-à-dire ce que le système doit
pouvoir réaliser.

Le système de prédiction devrait rendre service aux acteurs suivants :


- Médecin : le médecin utilise le système de prédication pour consolider son
diagnostic sur un cas précis. Il doit pourvoir fournir au système les valeurs pour
faire la prédication ;
- Patient : toute personne désirant connaitre son état de cancer de foie peut
utiliser notre système pour avoir une prédiction.
- Admin : l’administrateur est un agent chargé de gérer les accès au
système de prédiction, il va gérer les comptes, leur profil.
29

3.1.1.1. Diagramme de contexte système


Le diagramme de contexte d'un système est une modélisation permettant de
mettre en avant les acteurs à haut niveau du système. Il s’agit d’une esquisse de base
destinée à définir une entité en fonction de sa portée, de ses limites et de sa relation
avec des composants externes tels que les parties prenantes. Ce diagramme nous
permet de représenter et visualiser les composants de l'environnement de notre
système ainsi que les différents acteurs qui interagissent avec.

uc Contexte

SYS_PREDICATION DU Medecin
CANCER DU FOIE

Patient

«System»
KNN ALGO

Admin

Figure 3. 1—Diagramme de contexte système

3.1.1.2. Diagramme de cas d’utilisation du système de prédiction

Nous allons recenser les fonctionnalités de notre système sous forme de cas
d’utilisation UML. Pour ce faire, une référence aux objectifs du système est impérative
pour nous. La logique de prédiction désigne les moyens, les outils et les méthodes qui
permettent de collecter, consolider, modéliser et restituer les données, matérielles ou
immatérielles, pour offrir une aide à la décision et permettre à un décideur d'avoir une
vue d'ensemble de l'activité traitée.

Le système de prédiction doit permettre :

 Au médecin d’obtenir des hypothèses fiables pour consolider ses diagnostics


 Permettre au patient ou toute personne d’anticiper les effets d'un cancer sans
les subir
30

 Fixer les objectifs liés à la mise en place d'un choix d’un mode de vie ou
habitude.
 Identifier et contourner les risques possibles.

Ainsi le tableau suivant modélise le contexte de notre système :

Tableau 2—Modélisation du contexte du système

Cas d’utilisation Acteur(s) Description


S’authentifier Utilisateur Le système permettre à l’utilisation de
(Médecin, Patient, fournir ses coordonnées afin d’avoir
Admin) accès au système de manière
sécurisante
Obtenir Le système doit permettre au médecin
diagnostics de :
intelligent Médecin - Soumettre les plaintes du patient
- Consulter la prédiction de l’IA
- Vérifier le taux de précision
Interroger son Patient Le système doit permettre au patient de :
état de cancer - Soumettre des plaintes
- Consulter la prédiction de l’IA
Le système doit permettre à
Admin l’administrateur de :
Gérer profil - Créer un compte utilisateur
- Activer ou désactiver un compte
Alimenter Médecin Le système doit permettre au médecin
DataSet de :
- D’ajouter de nouveaux
diagnostics dans le jeu de
données
- Nettoyer le jeu de données en
supprimant les données
manquantes

Ainsi le diagramme de cas d’utilisation obtenu est le suivant :


31

uc Predicton cencer

SYS_PREDICATION DU CANCER DU FOIE

Consulter
Obtenir
prédiction
diagnostics
«include» intelligents
Medecin
S'authentifier
Interroger
état cancer de «include» «include»
foie Alimenter
Patient DataSet

«include» «System»
KNN ALGO
fournir ses
Gérer
plaintes
utilisateur

Admin

Figure 3. 2—Diagramme de cas d'utilisation de REBECCA SOFT

3.1.2. Exigences non fonctionnelles


Les besoins non fonctionnels se résument en un ensemble d’attributs de la
qualité, de performance, de sécurité et des indicateurs de qualité de l’exécution des
besoins fonctionnels. Ces besoins peuvent concerner les contraintes d’implémentation
(langage de programmation, type de SGBD, de système d’exploitation,)

 Portabilité
 Sécurité
 Maintenabilité
 Efficacité
 Sécurité
 Ergonomie

3.2. Analyse des cas d’utilisations : Description textuelle


Pour réaliser nos cas d’utilisation, notre démarche doit suivre le plan établit dans
le tableau 3 suivant :
32

3.2.1. Tableau des itérations


Le tableau des itérations nous permet de déterminer la priorité des cas
d’utilisations

Tableau 3—Tableau des itérations

N° CAS D’UTILISATION RISQUE PRIORITE ITERATION

1 Gérer utilisateur bas haute 2

2 Obtenir diagnostics Haut Haute 3


intelligents

3 Interroger état cancer Haut Basse 4


de foie

4 S’authentifier Moyen Moyenne 5

5 Alimenter DataSet Haut Haute 1

3.2.2 Description textuelle de cas d’utilisation


La description textuelle des CU est une instance du cas d’utilisation. Dans ce qui
suit, nous allons décrire l'ensemble des cas d'utilisation.

a) Description textuelle du Cas d’utilisation « Gérer utilisation »

Description textuelle du cas d’utilisation

- But – permettre à l’administrateur de créer / modifier ou annuler un compte afin


de permettre l’accès ou pas au système de prédiction de cancer de foie.
- Acteur concerné : Administrateur.
- Précondition : L’administrateur s’est authentifié correctement au système
REBECCASOFT.
- Scénario nominal
33

1. L’administrateur crée un utilisateur avec ses caractéristiques : prénom, nom,


mail, profil.
2. L’application enregistre les informations renseignées et affiche un message de
confirmation.
3. Un mail est envoyé à l’utilisateur créé avec son identifiant/password.

• Scénarios alternatifs

1a L’administrateur saisit un nom ou un prénom avec des chiffres.

- Le système affiche un message d’erreur précisant que le nom ou prénom sont


des chaînes de caractères uniquement. Le cas d’utilisation reprend au point 1.

1b L’administrateur saisit un nom ou prénom supérieur à 50 caractères.

- Le Système affiche un message d’erreur précisant que le nom ou prénom sont


des chaînes de caractères inférieures à 50 caractères. Le cas d’utilisation
reprend au point 1.

1c L’administrateur saisit un mail erroné (contrôle sur le @).

- L’application affiche un message d’erreur précisant que le mail n’est pas valide.
Le cas d’utilisation reprend au point 1.

Description des diagrammes d’analyse du cas d’utilisation

La suite de l’analyse du cas d’utilisation se poursuit par l’élaboration du


diagramme de séquence (fig. 3.3).
34

sd créer utilisateur

Admin
EcranUtilisateur GestionUtilisateur Utilisateur

ref
S'authentifier

utilisateur(nom, prenom, profil, email)

creerUser()

checkNomPrenom()

checkEMail()

genererIdentifiantMotDePasse()
creer()

envoiMail()

message()
Mail de confirmation envoyé à
utilisateur crée avec succès() l"utilisateur pour initialiser le mot de
passe du compte

Figure 3. 3—Diagramme de séquence du cas d'utilisation « Gérer utilisateur »

b) Description textuelle du cas d’utilisation « S’authentifier »


 Nom : s’authentifier
 Résumé : cette fonctionnalité permet de s’identifier au système.
 Version : 1.0
 Responsable : Rebecca
 Acteur ; user
 Précondition : --
 Scenario nominal
1. User demande la page d’authentification
2. Le système affiche la page d’authentification
3. User rempli le login et le mot de passé puis valide.
4. Le système affiche le message « connectée » si les infos sont bien
remplies

Scenario alternatif

« Message d’erreur » si les informations sont mal remplies


35

 Post-condition : le système facilite l’accès au système de prédiction de cancer


du foie.

sd S'authentifier

:Utilisateur
EcranLogin CTRLCompte Compte

demanderAcces()

cadre d'authentification ()

loop
saisieLoginMotDePasse()

verification(login, mp): boolean

select where(): boolean

verification()

afficher()

alt
break
[OK] connexion réussie()

[NO]
erreur login et mot de passe()

Figure 3. 4—Diagramme de séquences détaillées d'Authentification

c) Description textuelle du cas d’utilisation « Obtenir diagnostics intelligents»


 Nom : Obtenir diagnostics intelligents
 Résumé : cette fonctionnalité permet au médecin de consolider son diagnostic
avec la prédiction de l’IA.
 Version : 1.0
 Responsable : Rebecca
 Acteur ; Médecin
 Précondition : le médecin doit s’authentifier au système.
 Scenario nominal
1. Le médecin fourni les hyper paramètres (données du modèle : plaintes
du patient)
36

2. Le système de prédiction charge les données de références (dataset)


3. Il le diviser en ‘ catégories : x_train (variables indépendantes à utilisées
pour entrainer le modèle IA, x_test : pourcentage de données non
utilisées dans l’entrainement du modèle (si test_size = 0.4 donc 60% sont
des données sont utilisées dans l’entraiment et 40% dans le test),
y_train : variables dépendantes ou à prédire, ici pour l’entrainement,
y_test pour le test.
4. Le système entraine le modèle avec les données d’entrainement
(x_train, y_train)
5. Le système émet de prédiction correspondante
 Scenario alternatif
 Problème technique : Datset introuvable : dans ce cas le processus se
termine en échecs
 Le système affiche le message « error » et le cas d’utilisation se termine
en échec.
 Post-condition : le système a émis de prédictions.

La description formelle est donnée dans la fig.3.5 suivante :


37

sd Obtenir diagnostics
«IA» «CSVFile»
Model KNN DataSet
Medecin
VuePrediction CTRILPrediction

ref
S'authentifier

loop selon nbre patient


fournirPlaintesPatients()
split_data()

read_csv(path)

x_train()

y_train()

testData()

fit(x_train, y_train)

entrainnement
du model()
resultat entrainnement()

predict(testData)

classifcation()

calculPrecisionModel()

Résultat prédiction()

afficher()

Diagnostics de l'IA affiché()

Figure 3. 5—Diagramme de séquences détaillées du cas d'utilisation « Obtenir


diagnostiques intelligents »

d) Description textuelle du cas d’utilisation « Interroger état cancer de foie»


 Nom : Interroger état cancer de foie
 Résumé : cette fonctionnalité permet au patient de connaitre son état de cancer
de foie auprès de l’IA afin de prendre de précautions de santé.
 Version : 1.0
 Responsable : Rebecca
 Acteur ; Patient
 Précondition : le patient doit s’authentifier au système.
38

 Scenario nominal
1. Le patient remplit le formulaire de plaintes
2. Le système de prédiction charge les données de références (dataset)
3. Il le diviser en ‘ catégories : x_train (variables indépendantes à utilisées pour
entrainer le modèle IA, x_test : pourcentage de données non utilisées dans
l’entrainement du modèle (si test_size = 0.4 donc 60% sont des données
sont utilisées dans l’entraiment et 40% dans le test), y_train : variables
dépendantes ou à prédire, ic pour l’entrainement, y_test pour le test.
4. Le système entraine le modèle avec les données d’entrainement (x_train,
y_train)
5. Le système émet de prédiction correspondante
 Scenario alternatif
 Problème technique : Datset introuvable : dans ce cas le processus se
termine en échecs
 Le système affiche le message « error » et le cas d’utilisation se termine
en échec.
 Post-condition : le système a émis de prédictions.

La description formelle est donnée dans la fig.3.6 suivante :


39
sd Obtenir diagnostics
«IA» «CSVFile»
Model KNN DataSet
Patient
VuePrediction CTRILPrediction

ref
S'authentifier

fournirPlaintesPatients()
split_data()

read_csv(path)

x_train()

y_train()

testData()

fit(x_train, y_train)

entrainnement
du model()
resultat entrainnement()

predict(testData)

classifcation()

calculPrecisionModel()

Résultat prédiction()

afficher()

Diagnostics de l'IA affiché()

Figure 3. 6—Diagramme de séquences détaillées du cas d’utilisation « Interroger son


état du cancer de foie »

Pour finir l’analyse de scénario du système de prédiction du cancer de foie, nous


donnons ci-après un diagramme d’activité décrivant le fonctionnement de notre
système globalement :
40

act Prediction de cancer de foie

saisir chargement Split data :


vouloir de plaintes DataSet test_size
prédiction

extraitre variables extraire variables


dépendantes independantes

Y_test Y_train X_train X_test

entrainer
modèle : fit()

predire ajuster évaluer


cancer modele modèle

Figure 3. 7—Diagramme d'activité de prédictions

e) Description textuelle du cas d’utilisation « Alimenter DataSet »

Pour modéliser ce scénario, nous utilisons les objets suivants :

- Un acteur Médecin qui sera devant l’écran pour ajouter de nouveau cas
(observations)
- Un objet d’interface graphique qui permettra la saisie des variables et
données
- Un contrôleur qui se chargera de la vérification du format de données
compatibles au jeu de données utilisé
- Une instance de la classe DataSet qui contiendra le jeu de données

La description formelle : Diagramme de séquence détaillée :


41

sd Obtenir diagnostics

«CSVFile»
DataSet
Médecin
VueAlimentation CTRILAlimentation

ref
S'authentifier

saisirObservations()
alimenterDataSet()

dropna()

add(obs)

saveFile()

afficher()

nouvelles observations ajoutées()

Figure 3. 8--Diagramme de séquence détaillée Alimenter DataSet »

3.2.3. Diagramme de classes participantes :


Le diagramme de classes participantes est important puisqu’il effectue la jonction
entre, d’une part, les cas d’utilisation, les modèles de la couche métiers et l’interface
avec l’utilisateur. Il semble particulièrement important pour guider la phase de
production du livrable final. Le diagramme de classes participantes modélise trois
types de classes d’analyse dont les dialogues, les contrôles et les entités ainsi que
leurs relations.

a) Cas d’utilisation s’authentifier


Ces classes sont tirées de la description textuelle du cas d’utilisation
« S’authentifier »
42
class Use Case Model

utilisateur «dialog» Compte


EcranAuthentification GestionConnexion
id: int
- login: String + connecterUser(): void login: String
- password: String + verifierConnexion(): void password: String
+ valider(): void

Figure 3. 9—Diagramme de classes participantes du cas d'utilisation s'authentifier

b) Cas d’utilisation « Alimenter DataSet »


Ces classes sont tirées de la description textuelle du cas d’utilisation
« Alimenter DataSet »

class Alimenter dataset

«dialog»
VueAlimentation
- alcoolExcessif: int «CSV_FILE»
- antecedant: int CRTLAlimentation DataSetCancer
- balv: int
- id: int + charger(): void - alcoolExcesssif: int
- obseiste: int + creer(): void - balonnementVen: int
- sucre: int + enregistrer(): void - id: int
- tabac: int + nettoyer(): void - sucreDiabete: int
- virusHep: int - tabac: int

+ ajouter(): void
+ enregistrer(): void
+ nettoyer(): void

Figure 3. 10—Diagramme de classe participantes du cas d'utilisation « Alimenter


DataSet »

c) Diagramme de classes participantes du cas d’utilisation « Gérer utilisateur »


43

Admin

<<dialog>>
EcranGestionUtilisateur <<control>> <<entity>>
Utilisateur
-nom: String GestionUtilisateur
-prenom: String -id: int
-email: String +creerUtilisateur() -nom: String
-profil: String +modifierUtilisateur() -email: String
+envoiMail() -prenom: String
+creerUtilisateur() +supprimerUtilisateur() -profil: String
+modifierUtilisateur() +afficherUtilisateur() -motDePasse: String
+supprimerUtilisateur()
+visualiserUtilisateur()

Figure 3. 11—Diagramme de classes participantes du cas d’utilisation « Gérer


utilisateur »

d) Diagramme de classes participantes du cas d’utilisation « Obtenir


Diagnostics intelligents »

Ces classes sont tirées de la description textuelle du cas d’utilisation « Obtenir


diagnostics intelligents »

class Obtenir diagnostique

«dialog»
VuePrediction
- alcoolExcessif: int
- antecedant: int «CSV_FILE»
- balv: int DataSetCancer
- id: int CRTLPrediction
- obseiste: int + charger(): void - alcoolExcesssif: int
- sucre: int + envoyerResultat(): void - balonnementVen: int
- tabac: int + nettoyer(): void - id: int
- test_size: int + split_date(): void - sucreDiabete: int
- virusHep: int - tabac: int
- x_test: int
- x_train: int
- y_test: int
- y_train: int «System»
+ afficherPredictions(): void ModelIA Prediction
+ calculPrecision(): void + fit(Object, Object): List - ajustement: float
+ predire(): void + predict(int, int): void - precision: float
- valuer: List

Figure 3. 12—Diagramme de classes participantes du cas d’utilisation « Obtenir


Diagnostics intelligents »
44

3.3. Diagramme de classe de conception


Le diagramme de classe de conception représente les classes dont chacune
d’entre elles est décrite par un ou plusieurs attributs et proposer une ou plusieurs
méthodes. Chaque classe possède un nom explicite.
class Obtenir diagnostique

Plaintes
- alcoolExcessif: int
- antecedant: int
- balv: int «CSV_FILE»
- id: int DataSetCancer
- nomPatient: String - alcoolExcesssif: int
- obseiste: int CRTLPrediction - balonnementVen: int
- sucre: int - id: int
+ charger(): void
- tabac: int - sucreDiabete: int
+ envoyerResultat(): void
- test_size: int - tabac: int
+ nettoyer(): void
- virusHep: int
+ split_date(): void + afficherEntete(): void
- x_test: int
- x_train: int + creer(): void
- y_test: int + nettoyer(): void
- y_train: int
+ afficherPredictions(): void «System»
+ calculPrecision(): void ModelIA
+ predire(): void + fit(Object, Object): List
+ predict(int, int): void
1 Prediction
- ajustement: float
1..*
- precision: float
- valuer: List
sklearn
KNN + calculerAjustement(): void
+ model(): void
+ calculerDistance(): void + calculerPrécision(): void
+ confusion(): void

Figure 3. 13—Diagramme de classe de conception détaillée

3.4. Architecture Technique de l’application


Un système de prédiction de cas de cancer de foie nécessite une architecture
client-serveur dont la responsabilité du client se limitera à afficher les résultats de
prédiction et faire quelques traitements locaux. Ainsi une architecture technique légère
composée des éléments suivants a été choisie :

- Les éléments de présentations : pour mettre l’interaction avec l’utilisateur final


sur les résultats de prédiction ou lors d’alimentation de la DataSet
- Une application Navigateur qui a pour rôle d’interpréter les balises html et tous
les langages client (HTML, CSS, JavaScript)
- Un serveur Web sous python « Flask » pour la gestion de scripts python et
l’interaction de
45

- Un composant Python l’interprétation de commandes sources (ModelIA,


SkLean, Pandas, KNN
- Une source de données ici un fichier csv.
- La Fig 3.14 suivante illustre la structure logicielle de notre système.

Figure 3. 14—Architecture Technique du système

Pandas : est une bibliothèque écrite pour le langage de programmation Python


permettant la manipulation et l'analyse des données. Elle propose en particulier des
structures de données et des opérations de manipulation de tableaux numériques et
de séries temporelles.

SkLearn : Scikit-learn est une bibliothèque libre Python destinée à l'apprentissage


automatique. Elle est développée par de nombreux contributeurs notamment dans le
monde académique par des instituts français d'enseignement supérieur et de
recherche comme Inria
46

Serveur Flask : Flask est un micro-framework basé sur Python pour créer des pages
Web. Il peut être utilisé pour présenter des interfaces Web sur Pi et est relativement
facile à configurer.

ModelIA : notre code sources de prédiction

KNN : algorithme utilisé pour faire de prédiction

Navigateur : un logiciel utilisé pour visualiser le résultat de prédiction

3.4. Diagramme de déploiement


C’est un diagramme appartenant à la catégorie des diagrammes structurels, dont
le but est de montrer le déploiement physique des artéfacts (éléments concrets tels
que fichiers, exécutables, etc.) sur les ressources matérielles.

http
PC Medecin
ServeurAPP
Chrome.exe

flaskServer/exe DataConcer.csv

http
ModelIA.py

PC Patient http

Chrome.exe

PC Admin

Edget.exe

Figure 3. 15—Diagramme de déploiement

Conclusion partielle

Ce chapitre avait pour objectif de concevoir l’architecture détaillée du système


intelligent de prédiction REBECCASOFT. Sur ce, nous avons analysé et réalisé en
détails les cas d’utilisation au moyen des outils suivants : la description textuelle,
diagramme de classes participantes, les diagrammes de séquences systèmes et les
diagrammes de classes participantes ; pour spécifier d’avantage les détails
47

d’implémentation. Pour joindre l’utile à l’agréable, nous avons, nous construit une
architecture technique et un modèle de déploiement.

Le prochain chapitre se consacre à l’implémentation et à la présentation de


résultats.
48

CHAPITRE 4 : RESULTATS DE LA RECHERCHE


Dans ce chapitre des résultats d'une recherche nous allons présenter les
conclusions et les découvertes obtenues à partir de l'étude. Il permet de partager les
informations clés et les implications de la recherche avec le lecteur. Dans cette
section, nous allons présenter de manière concise et compréhensible les résultats
obtenus dans notre recherche sur les maladies de cancer du foie et l'implémentation
d'un modèle de prédiction utilisant l'algorithme des K plus proches voisins (KNN).
Nous discuterons des performances du modèle, de sa précision et des limites de
notre étude.
4.0. Discussion sur le résultat
Nous avons implémenté un modèle de prédiction des maladies de cancer du
foie en utilisant l'algorithme des K plus proches voisins (KNN). Nous avons utilisé un
jeu de données public contenant des variables explicatives telles que le taux d'alcool,
l'obésité, les antécédents, le virus de l'hépatite, le ballonnement ventre, le
jaunissement, l'aigrissement et le diagnostic. L'algorithme KNN est simple à mettre en
œuvre et polyvalent, pouvant être utilisé pour la classification, la régression et la
recherche d'informations. Cependant, il ralentit considérablement lorsque le nombre
d'observations et/ou de variables augmente.

Discussion:
Nous avons testé notre modèle sur un jeu de données de 150 observations et 10
variables. Nous avons utilisé la bibliothèque pandas pour manipuler les données et
avons mis à l'échelle les caractéristiques catégorielles pour rendre les données plus
précises. Nous avons également généré un graphique des observations de données
numériques pour visualiser les relations entre le taux de sucre et le tabac, en utilisant
la variable "DiagCancer" comme label.
4.0.1 solution du système de prédiction de cancer de foie propose
Nous avons construit notre modèle KNN en important la classe
KNeighborsClassifier. Nous avons ensuite demandé à l'utilisateur de saisir les
valeurs de test pour le taux de sucre, le tabac et le nombre de voisins. Le modèle a
été entraîné avec les données du jeu de données et a prédit la classe du nouveau
cas de cancer du foie en fonction des valeurs de sucre et de tabac saisies par
l'utilisateur. Enfin, nous avons affiché le graphique avec la prédiction.
49

Le premier test a montré que le cas était positif, ce qui signifie que le modèle a prédit
correctement le cas. Dans le deuxième test, le système a prédit le cas comme positif
avec une précision de 89%. Cela indique que notre modèle atteint ses objectifs.

Conclusion
Pour notre conclusion je dirai que nous reconnaissons que nous n'avons pas
testé toutes les variables de notre jeu de données, ce qui limite la généralisation de
nos résultats. Malgré cela, le résultat précédent nous donne confiance dans la
capacité de notre modèle à prédire les cas de cancer du foie.
A ce niveau de notre chapitre nous allons parler sur notre algorithme KNN et
nous allons montre comment nous avons implémenté notre système de prédiction de
cancer de foie à partir de données qui présentant de grands risques.
Le projet vise à prédire ces maladies en utilisant un algorithme de Machine
Learning K Nearest Neighbors (KNN) ou K-plus proche voisin.

4.1. K PLUS PROCHES VOISINS: Présentation


La méthode des K plus proches voisins (KNN) a pour but de classifier des points
cibles (classe méconnue) en fonction de leurs distances par rapport à des points
constituant un échantillon d’apprentissage (c’est-à-dire dont la classe est connue a
priori).

KNN est une approche de classification supervisée intuitive, souvent utilisée


dans le cadre du machine Learning. Il s’agit d’une généralisation de la méthode du
voisin le plus proche (NN). NN est un cas particulier de KNN, où k = 1.

L’approche de classification KNN se base sur l’hypothèse que chaque cas de


l’échantillon d’apprentissage est un vecteur aléatoire issu de Rn. Chaque point est
décrit comme x =< a1(x), a2(x), a3(x),.., an(x) > où ar(x) correspond à la valeur I du
rème attribut. ar(x) peut être soit une variable quantitative soit une variable qualitative.

Afin de déterminer la classe d’un point cible, chaque chacun des k points les plus
proches de xq procèdent à un vote. La classe de xq correspond à la classe majoritaire.

En ce qui nous concerne, la classification par les K plus proches voisins sera faite
en se basant les variables explicatives d’apprentissage suivantes :
50

1. Taux d’alcool
2. Obésité
3. Antécédent
4. Virus hépatite
5. Ballonnement vente
6. Jaunissement
7. Aigrissement
8. Diagnostique

Avantages

1. L’algorithme est super simple et facile à mettre en œuvre.


2. Il n’est pas nécessaire de construire un modèle, d’ajuster plusieurs paramètres
ou de faire des hypothèses supplémentaires.
3. L’algorithme est polyvalent. Il peut être utilisé pour la classification, la régression
et la recherche d’informations.

Inconvénients

 L’algorithme ralentit considérablement à mesure que le nombre d’observations


et/ou de variables dépendantes/indépendantes augmente. En effet, l’algorithme
parcourt l’ensemble des observations pour calculer chaque distance.

4.2. Langage de programmation


Pour implémenter notre IA, nous allons utiliser le langage de programmation
python.

Python est un langage de programmation interprété, multi paradigme et


multiplateformes. Il favorise la programmation impérative structurée, fonctionnelle et
orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la
mémoire par ramasse-miettes et d'un système de gestion d'exceptions ; il est ainsi
similaire à Perl, Ruby, Scheme, Small talk et Tcl.
51

Figure 4. 1—Logo de python

Le langage Python est placé sous une licence libre proche de la licence BSD5 et
fonctionne sur la plupart des plateformes informatiques, des smartphones aux
ordinateurs centraux6, de Windows à Unix avec notamment GNU/Linux en passant
par macOS, ou encore Android, iOS, et peut aussi être traduit en Java ou .NET. Il est
conçu pour optimiser la productivité des programmeurs en offrant des outils de haut
niveau et une syntaxe simple à utiliser.

Il dispose de structures de données de haut niveau et permet une approche


simple mais efficace de la programmation orientée objet. Parce que sa syntaxe est
élégante, que son typage est dynamique et qu'il est interprété, Python est un langage
idéal pour l'écriture de scripts et le développement rapide d'applications dans de
nombreux domaines et sur la plupart des plateformes.

L'interpréteur Python et sa vaste bibliothèque standard sont disponibles


librement, sous forme de sources ou de binaires, pour toutes les plateformes majeures
depuis le site Internet https://www.python.org/ et peuvent être librement redistribués.
Ce même site distribue et pointe vers des modules, des programmes et des outils tiers.
Enfin, il constitue une source de documentation.

4.3. Environnement de développement


Pour implémenter notre solution, nous utilisons l’environnement de
développement Anaconda. Anaconda est une distribution libre et open source des
langages de programmation Python et R appliqué au développement d'applications
dédiées à la science des données et à l'apprentissage automatique, qui vise à
simplifier la gestion des paquets et de déploiement.
52

L’avantage d’utilisation d’Anaconda est que son installation est faite


concomitamment avec Python, Jupyter Notebook.

Figure 4. 2—Logo anaconda

4.3.1. Jupyter NoteBook


Jupyter Notebook est une application web qui vous permet de stocker des lignes
de code Python, les résultats de l’exécution de ces dernières (graphiques, tableaux,
etc.) et du texte formaté. Cela peut être comparé à une page web... contenant du code
Python.

Figure 4. 3—Jupyter Notebook

Il existe d’autres moyens et applications permettant de travailler avec Python.


Mais nous allons utiliser NoteBook Jupyter pour sa facilité.

4.4. Implémentation du modèle


53

À) importation de bibliothèque
B) Affichage de du jeu de données
Le test de notre modèle s’effectue sur un jeu de données de 150 observations
et 10 variables, récupéré en ligne pour de raisons de tests du modèles. Nous utilisons
panda pour manipuler le jeu de données.

C) Connaitre la taille du jeu de données


D) Mise à l'échelle des caractéristiques, pour rendre les données catégorielles
précises
E) Génération du graphique d’observations de données numérique de notre jeu
de données
Nous mettons en abscisse le taux de sucre et en ordonné le Tabac. Nous
prenons la variable « DiagCandcer » de notre jeu de données comme label à étiqueté
en fonction de la valeur : si la valeur vaut 0, alors l’étiquète est « Négatif », sinon si
c’est 1 : alors « Positif Stad I, sinon « Positif Stad II ». Nous spécifions également la
couleur de chaque étiqueté (g pour vert, r, pour rouge et b, pour le bleu)

f) Construction du Modèle de KNN


Nous importons premièrement la classe KNeighborsClassifier : pour construire notre
modèle

from sklearn.neighbors import KNeighborsClassifier

Valeurs de tests du nouveau cas de cancer du foie


sucre = float(input("Taux du sucre = "))
tabac = float(input("Taux du Tabac = "))
k = int(input("Nombre de voisin "))
#Fin initialisation valeurs

#préparation du Graphique
plt.axis('equal')
plt.scatter(x[lab == 0], y[lab == 0], color='g', label='Négatif')
plt.scatter(x[lab == 1], y[lab == 1], color='r', label='Positif STAD I')
plt.scatter(x[lab == 2], y[lab == 2], color='b', label='Positif STAD II')
54

plt.scatter(sucre, tabac, color='k') #notre nouvelle fleur


plt.legend()
#Construction de notre Modèle de prédiction
Cet algorithme fonctionne comme suit :
- Définition de la liste (vectorisation de données du sucre et du tabac)
- Définition d’un objet « model » qui initailise KNN avec nombre de voisons l’hyper
paramètre K déjà saisie par l’utilisateur
- Entrainement du model « fit(d, lab) en lui passant le vecteur de données su
sucre et du tabac
- Ensuite la prédiction avec de données sucre et tabac saisie par l’utilisateur.
- Invocation du graphique de s’afficher après paramétrage.
Comme résultat :
4.5. Discussions
Nous présentons ci-après les résultats de test de notre modèle de prédiction
de cas de cancer du foie.
Nous avons démontré obtenu avec deux variable seulement à savoir
« tauxSucre = 1 gm» et « tabac = 0 » et K = 2. Il ressort de cette prédiction que le cas
est positif. Donc le sursème prédit correctement le cas.
Le système arrive à prédire ce cas comme « Positif » avec une précision de
89%
Ainsi, nous objectifs sont atteint.
Limites, nous reconnaissons n’avoir pas testé toutes les variables de notre jeu de
données. Néanmoins le résultat précédent nous rassure.

Conclusion partielle

Ce chapitre avait pour objectif des faire une discussion sur les résultats,
l’implémentation et la présentation des résultats. Chose faite, car nous avons fait le
choix technique, implémenté le modèle. Ensuite nous avons entrainé le modèle et fait
de prédication sur un graphique.
55

CONCLUSION GENERALE
Ce travail de fin de cycle a abordé la problématique de la conception d'un
système de prédiction du cancer du foie par l'apprentissage supervisé. L'objectif
principal était d'identifier les individus à risque élevé de développer un cancer du foie
en développant un système intelligent de prédiction.

La méthodologie utilisée pour concevoir ce système était la méthode UP


(Unified Process), qui a permis une approche itérative et incrémentale pour la
modélisation et le développement. Cette méthode a favorisé une collaboration efficace
entre les membres de l'équipe de développement et a permis de répondre aux besoins
des utilisateurs.
Les résultats obtenus ont démontré que le modèle de prédiction a atteint ses
objectifs. Lors des tests réalisés, le modèle a réussi à prédire avec précision un cas
positif de cancer du foie en utilisant certaines variables spécifiques. De plus, la
précision du modèle lors du deuxième test a atteint 89%.
Cependant, il convient de noter que toutes les variables du jeu de données n'ont
pas été testées, ce qui limite la généralisation des résultats obtenus. Pour des résultats
plus robustes, il serait recommandé d'inclure davantage de variables et de réaliser des
tests plus exhaustifs.
En bref, ce travail a réussi à concevoir un système de prédiction du cancer du
foie par l'apprentissage supervisé en utilisant la méthode UP. Les résultats obtenus
ouvrent des perspectives intéressantes pour la détection précoce et la prise en charge
de cette maladie grave, contribuant ainsi à améliorer les soins aux patients et à réduire
la morbidité et la mortalité associées au cancer du foie. Des études futures pourraient
se concentrer sur l'expansion du modèle en incluant plus de variables et en réalisant
des tests plus approfondis pour améliorer sa précision et sa fiabilité.
56

BIBLIOGRAPHIE
[1] B. Ouail, Etude et comparaison de modèles de prédiction basés sur
l'apprentissage automatique, memoire de fin d'etude master, 2020 – 2021 .
[2] A. Garivier, apprentissage supervisé, 2013.
[3] P. Roques, UML 2 par la pratique –Etudesde cas et exercices corrigés, 4ème
Édition, Eyrolles, 2006.
[4] J.-Y. Didier, Introduction à UML, 18/12/2006. P70.
[5] d. g. j. gabay, UML 2, analyse et conception Mise en œuvre guidée avec etude
de cas, paris: dunod, , 2008,P55.
[6] UML2, paris, 2018.
[7] G. willet, paradigme, théorie,modèle, schéma,qu'est ce donc?, 2019.
[8] Rebecca, drdrdrdrdrdr, 33333.
[9] J. J. A. Smith, «Predicting Liver Cancer Using Supervised Learning,» Journal of
Medical Research, p. 137, 2020.
[10] L. M. Anderson, Machine Learning for Cancer, 2019, p. 120.
[11] R. L. S. M. johnson, «Supervised Learning Approach for Liver cancer
Prediction,» 2018.
57

ANNEXES
Annexe 1. Interface de jupyter

On a importé la bibliothèque

Figure 4. 4—Importation de bioéthiques

Le test de notre modèle s’effectue sur un jeu de données de 150 observations


et 10 variables, récupéré en ligne pour de raisons de tests du modèles. Nous utilisons
panda pour manipuler le jeu de données.

Figure 4. 5—visualisation du 5 premières lignes


58

La c’est pour connaitre la taille de jeu de donnée

Figure 4. 6—observations de données numérique de notre jeu de données

Mise à l’échelle des caractéristiques, pour rendre les données catégorielles précises

Nous mettons en abscisse le taux de sucre et en ordonné le Tabac. Nous


prenons la variable « DiagCandcer » de notre jeu de données comme label à étiqueté
en fonction de la valeur : si la valeur vaut 0, alors l’étiquète est « Négatif », sinon si
c’est 1 : alors « Positif Stad I, sinon « Positif Stad II ». Nous spécifions également la
couleur de chaque étiqueté (g pour vert, r, pour rouge et b, pour le bleu)
59

Nous importons premièrement la classe KNeighborsClassifier : pour construire notre


modèle

from sklearn.neighbors import KNeighborsClassifier

Valeurs de tests du nouveau cas de cancer du foie


sucre = float(input("Taux du sucre = "))
tabac = float(input("Taux du Tabac = "))
k = int(input("Nombre de voisin "))
#Fin initialisation valeurs

#préparation du Graphique
plt.axis('equal')
plt.scatter(x[lab == 0], y[lab == 0], color='g', label='Négatif')
plt.scatter(x[lab == 1], y[lab == 1], color='r', label='Positif STAD I')
plt.scatter(x[lab == 2], y[lab == 2], color='b', label='Positif STAD II')
plt.scatter(sucre, tabac, color='k') #notre nouvelle fleur
plt.legend()
#Construction de notre Modèle de prédiction
Cet algorithme fonctionne comme suit :
- Définition de la liste (vectorisation de données du sucre et du tabac)
60

- Définition d’un objet « model » qui initailise KNN avec nombre de voisons l’hyper
paramètre K déjà saisie par l’utilisateur
- Entrainement du model « fit(d, lab) en lui passant le vecteur de données su
sucre et du tabac
- Ensuite la prédiction avec de données sucre et tabac saisie par l’utilisateur.
- Invocation du graphique de s’afficher après paramétrage.

Voici notre résultat

Nous présentons ci-après les résultats de test de notre modèle de prédiction


de cas de cancer du foie.
61

Nous avons démontré obtenu avec deux variable seulement à savoir « taux
Sucre = 1 gm» et « tabac = 0 » et K = 2. Il ressort de cette prédiction que le cas est
positif. Donc le sursème prédit correctement le cas.

Le système arrive à prédire ce cas comme « Positif » avec une précision de 89 %


Ainsi, nous objectifs sont atteint.
Limites, nous reconnaissons n’avoir pas testé toutes les variables de notre jeu de
données. Néanmoins le résultat précédent nous rassure.
62

Tableau 4:modèle de prédiction

PATIENT antécédent Alcool obésité Sucré Virus Tabac Ballonnement Perte Jaunisse Forte Fatigue Exposition Diagnostiques
excessif du de
diabètes Hépatite de vendre poids De yeux Douleur anormal Au toxique (1) Ou (0)

B et C peau Au foie Aflat

P1 1 0 0 1 0 1 0 1 1 1 1 0 1

P2 0 1 1 0 1 0 1 1 0 1 0 1 1

P3 0 1 0 0 0 0 1 1 0 0 1 1 0

P4 1 0 0 1 0 1 0 0 1 1 1 0 0
63

Vous aimerez peut-être aussi