core - Qu'est-ce qu'un k-cœur (k-core) dans le contexte de l'analyse de réseaux ?

Hiérarchie Structurelle et Résilience du Graphe

Réponse

Un k-cœur est un sous-graphe maximal dans lequel chaque sommet a un degré d'au moins 'k' au sein de ce même sous-graphe. La décomposition en k-cœurs consiste à trouver, pour chaque nœud, la plus grande valeur de 'k' telle que le nœud appartienne à un k-cœur.
SAS / CASL
proc cas;
   /* Chargement du moteur d'analyse de réseaux */
   loadactionset "network";

   /* Exécution de l'algorithme de décomposition */
   action network.core /
      links    = {name="Links"}
      /* L'option UNDIRECTED est standard pour la cohésion structurelle */
      direction = "UNDIRECTED"
      /* La table outNodes contiendra la variable '_core_' (le k max) */
      outNodes = {name="Node_Core_Results", replace=TRUE}
      /* La table outLinks permet de visualiser uniquement les liens du cœur */
      outLinks = {name="Link_Core_Results", replace=TRUE};
   run;

   /* Affichage des résultats pour inspection */
   table.fetch / table="Node_Core_Results" sortBy="node";
quit;
Did this answer help you?
Utilisez la décomposition en k-cœurs comme filtre de débruitage avant de lancer des algorithmes coûteux (comme la détection de communautés Louvain ou la centralité Betweenness). En ne conservant que les nœuds où _core_ >= 2 ou 3, vous éliminez les branches mortes et les artefacts isolés, accélérant drastiquement vos calculs sur de gros volumes de données (Big Data).
core

network

Doc : core