CommencerCommencer gratuitement

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

Dans cet exercice et le suivant, vous allez faire un dernier rappel des notions du cours précédent. Votre tâche est de tracer les distributions de 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 l’exercice suivant, vous le ferez pour la partition 'projects'.

La fonction que vous avez écrite précédemment, get_nodes_from_partition(), a été chargée pour vous. Pour rappel, la « centralité en degré » est une mesure de l’importance d’un nœud, et la « distribution de 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 réalisé le diagramme circo, nous avons calculé les centralités en degré pour vous. Vous allez maintenant vous entraîner à le faire vous-même !

Cet exercice fait partie du cours

Analyse de réseaux intermédiaire en Python

Afficher le cours

Instructions

  • 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é pour chaque nœud de G. Stockez le résultat dans dcs.
  • Utilisez une compréhension de liste pour calculer la centralité en degré pour chaque nœud de user_nodes. Stockez le résultat dans user_dcs.
    • Rappelez‑vous, dcs est un dictionnaire dont les clés sont les nœuds. Les nœuds qui nous intéressent ici sont contenus dans user_nodes. Comment utiliser cette information pour obtenir la centralité en degré des nœuds utilisateur ? Utilisez n comme variable d’itération.
  • Tracez un histogramme de la distribution des degrés des utilisateurs en utilisant plt.hist() et user_dcs.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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