CommencezCommencez gratuitement

Distribution de la centralité en degré des nœuds utilisateurs

Dans cet exercice et le suivant, vous allez faire un dernier rappel du contenu du cours précédent. Votre tâche consiste à tracer la distribution de la centralité en degré pour chaque partition de nœuds dans la version bipartite du réseau de collaboration GitHub. Ici, vous le ferez pour la partition 'users'. Dans le prochain exercice, vous le ferez pour la partition 'projects'.

La fonction que vous avez écrite plus tôt, get_nodes_from_partition(), a été chargée pour vous. Pour rappel, la « centralité en degré » mesure l'importance d'un nœud, et la « distribution de la centralité en degré » est la liste des scores de centralité en degré pour tous les nœuds du graphe. Il y a quelques exercices, lorsque vous avez créé le graphique circos, nous avons calculé les centralités en degré pour vous. Vous allez maintenant vous exercer à le faire vous-même!

Cette activité fait partie du cours

Analyse de réseaux intermédiaire en Python

Voir le cours

Instructions de l’exercice

  • Importez matplotlib.pyplot sous le nom plt.
  • Utilisez votre fonction get_nodes_from_partition() de l'exercice précédent pour obtenir une liste appelée user_nodes correspondant aux nœuds 'users' de G.
  • À l'aide de la fonction nx.degree_centrality(), calculez la centralité en degré de chaque nœud dans G. Stockez le résultat dans dcs.
  • Utilisez une compréhension de liste pour calculer la centralité en degré de chaque nœud dans user_nodes. Stockez le résultat dans user_dcs.
    • Rappel : dcs est un dictionnaire dont les clés sont les nœuds. Les nœuds pertinents ici se trouvent dans user_nodes. Comment pouvez-vous utiliser cette information pour obtenir la centralité en degré des nœuds utilisateurs? Utilisez n comme variable d'itération.
  • Tracez un histogramme de la distribution des degrés des utilisateurs avec plt.hist() et user_dcs.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import matplotlib
____

# Get the 'users' nodes: user_nodes
user_nodes = ____

# Compute the degree centralities: dcs
dcs = ____

# Get the degree centralities for user_nodes: user_dcs
user_dcs = [dcs[____] for n in ____]

# Plot the degree distribution of users_dcs
plt.yscale('log')
plt.hist(____, bins=20)
plt.show()
Modifier et exécuter le code