Tracer la centralité en degré sur la projection
Vous allez comparer ici les distributions de centralité en degré pour chacun des graphes suivants : le graphe original G, la projection du graphe des personnes peopleG, et la projection du graphe des clubs clubsG. Cela renforcera la différence de calcul du score de centralité en degré entre les versions bipartites et unipartites des métriques de centralité en degré. Les listes de nœuds people et clubs ont été préchargées pour vous.
Rappelez-vous de la vidéo que les fonctions bipartites nécessitent qu’on leur passe un ensemble de nœuds, mais renvoient malgré tout tous les scores de centralité en degré. N’oubliez pas non plus que les scores de centralité en degré sont stockés sous forme de dictionnaires (associant chaque nœud à un score).
Cet exercice fait partie du cours
Analyse de réseaux intermédiaire en Python
Instructions
- Tracez la distribution de la centralité en degré du graphe original
G, en utilisant la fonctiondegree_centralitydu module bipartite :nx.bipartite.degree_centrality(). Elle prend deux arguments : le grapheGet l’une des listes de nœuds (peopleouclubs). - Tracez la distribution de la centralité en degré du graphe
peopleG, en utilisant la fonctiondegree_centralitynormale/non bipartite de NetworkX :nx.degree_centrality(). - Tracez la distribution de la centralité en degré du graphe
clubsG, en utilisant la fonctiondegree_centralitynormale/non bipartite de NetworkX :nx.degree_centrality().
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
import matplotlib.pyplot as plt
# Plot the degree centrality distribution of both node partitions from the original graph
plt.figure()
original_dc = ____
# Remember that you can directly plot dictionary values.
plt.hist(____, alpha=0.5)
plt.yscale('log')
plt.title('Bipartite degree centrality')
plt.show()
# Plot the degree centrality distribution of the peopleG graph
plt.figure()
people_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of people partition')
plt.show()
# Plot the degree centrality distribution of the clubsG graph
plt.figure()
clubs_dc = ____
plt.hist(____)
plt.yscale('log')
plt.title('Degree centrality of clubs partition')
plt.show()