0% ont trouvé ce document utile (0 vote)
4 vues12 pages

Laboratoire de Recherche Redcad: Projet Fin D'Annee

Le projet de fin d'année vise à développer un algorithme de ranking pour classifier des agences de tourisme médical en utilisant des critères collectés sur leurs sites web. L'algorithme utilise des méthodes de logique floue pour prédire un score continu basé sur des caractéristiques telles que le nombre d'interventions et les avis. De plus, un algorithme de web crawling a été créé pour extraire dynamiquement ces critères à partir des sites web.

Transféré par

DORRA CHAARI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues12 pages

Laboratoire de Recherche Redcad: Projet Fin D'Annee

Le projet de fin d'année vise à développer un algorithme de ranking pour classifier des agences de tourisme médical en utilisant des critères collectés sur leurs sites web. L'algorithme utilise des méthodes de logique floue pour prédire un score continu basé sur des caractéristiques telles que le nombre d'interventions et les avis. De plus, un algorithme de web crawling a été créé pour extraire dynamiquement ces critères à partir des sites web.

Transféré par

DORRA CHAARI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

​ECOLE NATIONAL D’INGENIEURS DE SFAX

DEPARTEMENT DE GENIE INFORMATIQUE ET MATHÉMATIQUES APPLIQUÉES

ORGANISME

Laboratoire de recherche ReDCAD

PARCOURS

BIG DATA & MACHINE LEARNING FOR RANKING [E-HEALTH]

PROJET FIN D’ANNEE

RÉALISÉ PAR:

Dorra Chaari
Ghattassi Aycha
Salma Choura
Omrane Mariam
Aymen Ben Salem

ENCADRÉ PAR:

MOUNA TORJMEN
1.​ C
​ adre du projet:
Le sujet du projet de fin d’année vise à développer un algorithme de Ranking
qui permet de classifier des agences de tourisme médicale selon des critères
(features) collecté à partir de leur site web. Exemples des Features:
-Nombre d'interventions
-Prix moyen
-Nombre de Photos
-Nombre de médecins
-Nombre d’années d'expériences moyen
-Existence des avis

2.​ R
​ éalisation:
En raison du manque d'informations et des bases des données dans ce
sujet, nous sommes obligés d'utiliser une méthode de prédiction de score non
supervisé.
le score à prédire est un nombre continue dans une plage prédéterminée
(entre 0 et 100) donc on ne peut pas utiliser le clustering.
On a choisi d’appliquer les algorithmes du ​Logique Floue ​pour prédire le
score.

2.1 Architecture Logicielle Utilisé:


[Link] :
un algorithme en python qui génère une base de données de valeurs des
features aléatoires.

[Link]:

[Link]:
[Link]:
L’interface est Crée en utilisant le framework python Flask.
Flask ​est un framework open-source de
développement web en Python. Son but principal
est d'être léger, afin de garder la souplesse de la
programmation Python, associé à un système de
templates.

--Fig1:Forme pour sélectionner les caractéristiques


que l'algorithme prend en considération --

​--Fig2: les top 4 agences --


--Fig3: List des Agences, leurs scores et bouton pour visiter le site web --
--Fig4: Diagramme pour afficher la variation des scores entre les agences --

[Link]:
● Explication de l’algorithme:
● Fuzzification:
Chaque Feature dans la phase de Fuzzification prend le maximum dans la
base et le minimum pour créer deux courbes : bad, good

● Règles floues:
Maintenant que l'on possède des variables linguistiques, on va pouvoir les passer
dans le moteur d'inférence. La première chose à faire pour cette seconde partie
est donc de lister toutes les règles que l'on connaît et qui s'applique au système.
Une règle doit être sous la forme Si condition, alors conclusion. Le principe
qu’on a choisi pour les règles est très simple. La classe de score pour une entrée
est tout simplement le nombre de features appartenant à la classe good cad si on
a 4 features dont 3 sont good alors le score appartient à la classe 3

IF (((NombreInterventions[​bad​] AND NombrePhotosBA[​bad​]) AND NombreMedecins[​bad​]) AND


MoyenneAnneesExperience[​bad​]) AND Temoignage[​bad​] ​THEN ​Score[​0​]

IF (((NombreInterventions[​bad​] AND NombrePhotosBA[​bad​]) AND NombreMedecins[​bad​]) AND


MoyenneAnneesExperience[​bad​]) AND Temoignage[​good​] THEN Score[​1​]

IF (((NombreInterventions[​good​] AND NombrePhotosBA[​good​]) AND NombreMedecins[​good​]) AND


MoyenneAnneesExperience[​good​]) AND Temoignage[​good​] THEN Score[​2​]
● Défuzzification:
La défuzzification consiste à interpréter les degrés d'appartenance des ensembles
flous et les règles floues dans une décision spécifique ou une valeur réelle. Dans
notre cas c’est la valeur du score .

● Exemple de tournage à la main avec deux critères


d’évaluations :
Etape 1 : fuzzification
·​ C
​ hoix des entrées/sorties et leurs univers de discours :

o​ 2
​ entrées :

1- Number_of_Doctors : [0 .. 10]
2- Experience_Years_Average : [0 .. 14]
o​ U
​ ne sortie :

1- Score : [0 .. 100]
·​ C
​ lasses d’appartenance :

o​ Number_of_Doctors : ​triangulaire ; bad [0 0 10] good [0 10 10]


o​ Experience_Years_Average : ​triangulaire ; bad [0 0 14] good [0 14 14]


o​ Score: ​triangulaire ; classe_0 [0 0 1/3] classe_1 [0 33 66] classe_2 [33 66


100]

Etape2 : Moteur d’inférences

·​ L​ es critères choisis : Number_of_Doctors et Experience_Years_Average

o​ ​ On choisie une agence qui a :


-​ Number_of_Doctors =7

-​ ​ Experience_Years_Average=9
o Les règles à appliquer :
1- Number_of_Doctors good​ and​ Experience_Years_Average good ​Alors​ Score classe_2

2- Number_of_Doctors good ​and​ Experience_Years_Average bad ​Alors ​Score classe_1

3- Number_of_Doctors bad ​and ​Experience_Years_Average good ​Alors​ Score classe_1

4- Number_of_Doctors bad ​and​ Experience_Years_Average bad ​Alors​ Score classe_0

AND ​aggregation function : ​fmin

OR ​aggregation function : ​fmax

● exemple: règle 3

● après appliquer les différentes règles,l'étape de moteur d'interférence


donne à la fin cette courbe des conclusions:
Etape 3 : Défuzzification
calcule de score manuel:
La méthode moyenne des maxima (MM) : la moyenne des abscisses des
maxima de l'ensemble flou issu de l'agrégation des conclusions.

score=(36+71)/2=53.5

calcule de score par l’algorithme:


score=56.62612985878171

3.​ W
​ ebCrawler:

On a développé un algorithme de web crawling qui permet de parcourir les


sites afin d’extraire les critères dynamiquement.
Vu que la réalisation d’un algorithme standard pour tous les sites est presque
impossible on a juste extraire ces 5 critères:​ ​Nom de l’agence, Url de site,
Nombre d’interventions, Moyenne des prix, Témoignage.

Vous aimerez peut-être aussi