Trouver les nœuds aux centralités en degré les plus élevées
Dans cet exercice, vous allez examiner de plus près si les étudiants les plus connectés du réseau présentent quelque chose d’intéressant. Vous identifierez d’abord le groupe d’étudiants ayant les centralités en degré les plus élevées. Ce résultat sera réutilisé dans le prochain exercice de visualisation.
Cet exercice fait partie du cours
Analyse de réseaux intermédiaire en Python
Instructions
- Récupérez les 5 plus fortes valeurs de centralité en degré uniques. Pour cela, utilisez la fonction
sorted()dont le premier argument est l’ensemble des valeurs de centralité en degré de G (car vous voulez des centralités uniques), et le second argument estreverse=Truepour trier par ordre décroissant. Pour limiter le résultat aux 5 meilleures valeurs, ajoutez un slicing approprié à la fin de l’instruction. N’oubliez pas d’utiliser.values()sur le résultat de la centralité en degré ! - Créez la liste des nœuds qui possèdent les 5 centralités en degré globales les plus élevées. Pour ce faire :
- Itérez sur le dictionnaire des valeurs de centralité en degré à l’aide de la méthode
.items()surnx.degree_centrality(G). - Si
dcest danstop_dcs, alors ajoutez le nœudnà la listetop_connected.
- Itérez sur le dictionnaire des valeurs de centralité en degré à l’aide de la méthode
- Affichez le nombre de nœuds qui partagent les 5 meilleures valeurs de centralité en degré (
top_connected) aveclen().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Get the top 5 unique degree centrality scores: top_dcs
top_dcs = ____(set(____), reverse=True)[____:____]
# Create list of nodes that have the top 5 highest overall degree centralities
top_connected = []
for n, dc in ____:
if ____ in ____:
____
# Print the number of nodes that share the top 5 degree centrality scores
print(____)