connectedComponents
Description
L'action connectedComponents est le détective de votre réseau SAS Viya. Elle sert à identifier les sous-groupes de nœuds (les fameux 'composants') où chaque membre peut atteindre n'importe quel autre membre du même groupe en suivant les liens. Pour les graphes non orientés, c'est comme trouver des îlots isolés dans un archipel. Pour les graphes orientés, elle s'appuie sur l'algorithme DFS pour débusquer les composants fortement connectés. C'est l'outil parfait pour segmenter vos données ou nettoyer votre topologie avant de lancer des analyses plus lourdes.
Paramètres Clés
Préparation des données
Création d'un réseau social d'amis et d'inconnus
On crée un petit graphe avec deux groupes distincts (A-B-C et D-E) pour tester la détection des composants.
| 1 | DATA casuser.liens_amicaux; |
| 2 | INPUT from $ to $; |
| 3 | DATALINES; |
| 4 | Anne Bob |
| 5 | Bob Cecile |
| 6 | Anne Cecile |
| 7 | David Eve |
| 8 | ; |
| 9 | RUN; |
Exemples d'utilisation
Détection basique des composants
On demande à SAS de trouver qui est connecté à qui dans notre table de liens.
| 1 | PROC CAS; |
| 2 | optNetwork.connectedComponents / |
| 3 | links = {name = "liens_amicaux"} |
| 4 | outNodes = {name = "amis_groupes", replace = true}; |
| 5 | RUN; QUIT; |
Résultat Attendu :
Analyse avancée avec algorithme UNIONFIND et statistiques
Utilisation de l'algorithme Union-Find explicitement, avec génération de toutes les tables de sortie possibles pour une analyse exhaustive.
| 1 | PROC CAS; |
| 2 | optNetwork.connectedComponents / |
| 3 | links = {name = "liens_amicaux"} |
| 4 | algorithm = "UNIONFIND" |
| 5 | direction = "UNDIRECTED" |
| 6 | outNodes = {name = "noeuds_details", replace = true} |
| 7 | outLinks = {name = "liens_details", replace = true} |
| 8 | out = {name = "resume_composants", replace = true} |
| 9 | logLevel = "AGGRESSIVE"; |
| 10 | RUN; QUIT; |