community
Description
L'action community est l'outil de détective ultime pour vos données relationnelles . Elle permet de segmenter un graphe en groupes de nœuds (communautés) plus densément connectés entre eux qu'avec le reste du réseau. C'est un peu comme essayer de deviner qui fait partie de la même famille lors d'un mariage géant en regardant simplement qui discute avec qui. Elle supporte des algorithmes célèbres comme LouvainAlgorithme de détection de communautés (proc NETWORK) optimisant la modularité d'un graphe. Il regroupe les nœuds en clusters denses de manière itérative pour révéler la structure hiérarchique. ou la propagation de labels, tout en gérant des contraintes de taille via des approches récursives.
Paramètres Clés
Préparation des données
Création d'un réseau social imaginaire
On crée un petit réseau de relations (liens) pour tester la détection de groupes.
| 1 | DATA casuser.liens_amis; INPUT from $ to $; DATALINES; Luc Marie Luc Jean Marie Jean Alice Bob Alice Julie Bob Julie Luc Alice ; RUN; |
Exemples d'utilisation
Détection de base (Louvain)
Utilisation de l'algorithme par défaut pour identifier les groupes naturels.
| 1 | PROC CAS; network.community / links={name='liens_amis'} outNodes={name='comm_out', replace=true}; RUN; QUIT; PROC PRINT DATA=casuser.comm_out; RUN; |
Résultat Attendu :
Multi-résolution et Découpage Récursif
On force l'algorithme à créer des communautés de 2 personnes maximum en utilisant une approche récursive et une résolution spécifique.
| 1 | PROC CAS; network.community / algorithm='LOUVAIN' direction='UNDIRECTED' links={name='liens_amis'} resolutionList={0.5, 1.2} recursive={maxCommSize=2} outNodes={name='comm_detail', replace=true} outLevel={name='comm_levels', replace=true}; RUN; QUIT; |