Rrrrapport PFA Amine Walid
Rrrrapport PFA Amine Walid
Rrrrapport PFA Amine Walid
Sujet :
Implémentation des indices de
centralité pour l'identification
des acteurs influents dans un
réseau social
[Date]
2
TABLE DE MATIÈRES
REMERCÎMENTS.......................................................................................................2
INTRODUCTION GÉNÉRAL :................................................................................. 5
CHAPITRE 1 :.............................................................................................................. 6
CONTEXTE DU PROJET...........................................................................................6
1. CONTEXTE DU PROJET :.........................................................................................7
2. ANALYSE DU BESOIN :..........................................................................................9
CHAPITRE 2 :............................................................................................................ 11
ANALYSE................................................................................................................... 11
1. ETUDE DU PROJET :............................................................................................12
2. LES TECHNOLOGIES ADOPTÉES :.........................................................................12
3. LES OUTILS UTILISÉS :........................................................................................13
CHAPITRE 3 :............................................................................................................ 15
MISE EN ŒUVRE DU PROJET..............................................................................15
1. INTRODUCTION :.................................................................................................16
2. CRÉATION DE PROJET :.......................................................................................16
3. IMPLÉMENTATION :.............................................................................................19
CONCLUSION GÉNÉRAL :.................................................................................... 23
WEBOGRAPHIE :..................................................................................................... 24
[Date]
3
LISTE DES FIGURES
Introduction générale :
[Date]
4
Dans le cadre de notre formation à l’École marocaine des sciences de l’ingénieur,
l’établissement cherche à développer nos capacités en nous incitant à effectuer des
projets de fin d’année, sur une durée de plusieurs semaines. Ce projet porte sur l’étude,
la réalisation et l’implémentation des indices de centralité pour l'identification des
acteurs influents dans un réseau social. Cette technique d'analyse de réseau permet de
quantifier l'influence d'un nœud par rapport à d'autres nœuds dans le réseau.
L'utilisation des mesures de centralité sur les réseaux peut conduire à une
compréhension plus complète de la dynamique et du comportement du monde réel,
tels que l'identification des individus les plus influents dans un réseau social, ou
encore les principaux aéroports d'un réseau de transport.
Pour réaliser ce travail, nous allons utiliser la technologie Phyton, qui est un langage
de programmation orienté objet, de haut niveau, en s’aidant des bibliothèques de
graphes networkX et igraph pour nous permettre de créer, manipuler et analyser les
graphes et les réseaux, tout en mettant en application les connaissances acquises
durant le cycle préparatoire de l’EMSI.
[Date]
5
Chapitre 1 :
Contexte du Projet
[Date]
6
1. Contexte du Projet :
Présentation du sujet :
Définition :
La centralité de mesure est une mesure utilisée en théorie des graphes pour évaluer
l'importance d'un nœud ou d'un sommet dans un réseau. Il existe plusieurs types de
centralités de mesure, chacun évaluant l'importance du nœud ou du sommet d'une
manière différente. Voici une brève explication des quatre types les plus courants.
[Date]
7
Centralité de betweenness : La centralité de betweenness mesure l'importance d'un
nœud en fonction de la fréquence à laquelle il apparaît sur le chemin le plus court
entre deux autres nœuds. Les nœuds qui se trouvent sur les chemins les plus courts
entre de nombreux autres nœuds sont considérés comme importants, car ils sont
essentiels pour la communication dans le réseau.
Heatmap : Une heatmap (ou carte thermique) est un outil de visualisation utilisé pour
représenter graphiquement l'importance des nœuds dans un réseau. Les nœuds sont
représentés par des cercles ou des carrés, et la couleur de chaque nœud est basée sur sa
mesure de centralité. Les nœuds les plus importants sont représentés en rouge ou en
orange, tandis que les nœuds moins importants sont représentés en vert ou en bleu.
Objectif du projet :
Solution Proposé :
Dans ce projet, nous proposons d'implémenter les différents indices de centralité tels
que la centralité de proximité, la centralité de degré, la centralité de betweenness et de
heatmap en utilisant Python et les bibliothèques Python spécialisées dans l'analyse de
réseaux sociaux, telles que NetworkX et igraph.
Nous allons tester notre méthode sur des ensembles de données réels de réseaux
sociaux, afin de déterminer l'efficacité de notre approche pour identifier les acteurs
[Date]
8
influents dans un réseau social. Nous allons également comparer les résultats de notre
méthode avec d'autres méthodes existantes pour l'analyse des réseaux sociaux, afin de
démontrer l'efficacité de notre approche proposée.
Le but ultime de ce projet est de fournir une méthode efficace et fiable pour identifier
les acteurs influents dans un réseau social, qui peut être utilisée dans divers domaines
tels que le marketing, la politique et les relations publiques.
2. Analyse du besoin :
1) Besoins fonctionnels :
Les besoins fonctionnels produisent le modèle des besoins en se basant sur les
fonctions des utilisateurs ci-dessus. Elle qualifie de produire un système adapté aux
utilisateurs :
[Date]
9
Les besoins non fonctionnels sont importants car ils agissent de façon indirecte sur le
résultat et sur le rendement de l'utilisateur, ce qui fait qu'ils ne doivent pas être
négligés, pour cela il faut répondre aux exigences suivantes :
[Date]
10
Chapitre 2 :
Analyse
[Date]
11
1. Etude du Projet :
Etude de l’existant :
En outre, certains de ces outils sont payants et peuvent ne pas être accessibles pour les
utilisateurs qui ont des ressources limitées. C'est pourquoi, dans ce projet, nous
proposons de créer un outil open source avec une interface utilisateur conviviale qui
peut être utilisée par les utilisateurs avec différentes compétences techniques. Nous
visons à fournir un outil simple et efficace pour l'analyse de réseaux sociaux, avec une
approche basée sur Python, qui est un langage de programmation largement utilisé
dans l'analyse de données et l'apprentissage automatique.
[Date]
12
3. Les outils utilisés :
Anaconda :
Spyder :
[Date]
13
Spyder (Scientific PYthon Development EnviRonment) est
un environnement de développement intégré (IDE) open
source conçue pour les scientifiques des données, les
analystes et les ingénieurs en Python. Spyder fournit un
environnement interactif pour travailler avec Python, en
offrant des fonctionnalités de débogage, des outils
d'exploration de données, des éditeurs de code, des consoles IPython et plus encore.
Spyder a été conçu pour offrir un environnement de développement scientifique
complet avec des fonctionnalités pour l'analyse de données, l'exploration de données,
la modélisation, l'apprentissage automatique et d'autres tâches liées aux données.
Spyder est construit sur la bibliothèque Qt, qui fournit une interface utilisateur
graphique moderne et conviviale, et il est extensible avec des plugins pour ajouter des
fonctionnalités supplémentaires.
[Date]
14
Chapitre 3 :
[Date]
15
1. Introduction :
Pour débuter, nous avons d’abord commencé par chercher quels outils nous allons
utiliser pour créer nos graphes et à savoir comment calculer les centralitées. Après de
nombreuses recherches nous avons fini par choisir les bibliothèques networkx pour
créer, manipuler et étudier des structures de graphes, numpy pour effectuer des
opérations mathématiques et statistiques, et matplotlib pour créer des graphiques et
des visualisations de données en 2D, pour ensuite les importer sur Spyder qui sera
notre IDE tout au long de ce projet afin de nous faciliter la création de notre site web.
2. Création de projet :
Pour aboutir à l’analyse des acteurs influents au sein d’un réseau social, nous avons
choisi de se concentrer sur 4 centralités particulière :
[Date]
16
Closeness centrality : La centralité de proximité pour le nœud vi, notée
Cc(vi), est définie comme . Plus simplement, comme
l'inverse de l'éloignement, où l'éloignement est défini comme la somme
de la longueur des chemins les plus courts entre le nœud vi et tous les
autres nœuds du réseau. Intuitivement, la centralité de proximité mesure
la rapidité avec laquelle les informations peuvent se propager à partir du
nœud vi, en utilisant l'idée qu'un nœud est proche de tous les nœuds du
réseau et pas seulement proche de son voisin. En conséquence, la
centralité de proximité est considérée comme une mesure de la
connectivité du réseau mondial.
[Date]
17
nœud vi, les N arbres de plus courts chemins de l'algorithme BFS doivent
être parcourus afin de déterminer le nombre de plus courts chemins qui
passent par vi. Par conséquent, le calcul de la centralité d'intermédiarité
pour un nœud, Cb(vi), pourrait prendre un temps supplémentaire.
comme :
[Date]
18
Par conséquent, en utilisant cette intuition, la centralité de la carte
thermique peut être considérée comme une mesure basée sur le "chemin
le plus court" et utilisée dans l'identification des nœuds super-diffuseurs
qui contrôlent le flux d'informations au sein d'un réseau sans échelle.
3. Implémentation :
Après avoir définie les différentes centralités, voici un exemple de leur
implémentation suivant ce réseau :
[Date]
19
Figure 2 : Le degré de centralité
[Date]
20
Figure 4 : La centralité d'intermédiarité
[Date]
21
En conclusion, les mesures de centralité, telles que la centralité de degré, la centralité
d'intermédiarité (betweenness) et la heatmap, sont des outils utiles pour analyser la
structure des réseaux. En utilisant ces mesures, nous avons pu identifier les nœuds clés
et les connexions importantes dans le réseau, ce qui peut aider à comprendre les
processus sous-jacents. En combinant ces différentes mesures, nous avons pu obtenir
une image plus complète de la structure du réseau. Par exemple, la centralité de degré
nous a dit quels sont les nœuds les plus connectés, mais la centralité d'intermédiarité
nous indique quels sont les nœuds les plus importants pour le flux d'information dans
le réseau. Cependant, il convient de noter que les mesures de centralité ne fournissent
qu'une vue partielle du réseau et ne doivent pas être utilisées comme une mesure
unique de l'importance d'un nœud ou d'une connexion. D'autres facteurs tels que la
nature des interactions entre les nœuds peuvent également être importants pour
comprendre le fonctionnement du réseau.
[Date]
22
Conclusion générale :
Sur le plan pratique, ce travail nous a démontré que le langage Python avec de l’html
est très complexe à maitriser en aussi peu de temps, cependant nous avons pu
découvrir qu’ils disposent de nombreuse fonctionnalité pour laisser libre cours à notre
créativité. Ainsi nous avons tenté de faire de notre mieux afin d’atteindre les objectifs
fixés de notre projet.
Webographie :
[Date]
23
https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0235690
https://networkx.org/documentation/stable/tutorial.html
https://numpy.org/doc/stable/
https://igraph.org/python/tutorial/0.9.8/install.html#
https://docs.anaconda.com/navigator/index.html
https://www.python.org/downloads/
[Date]
24