Exploration approfondie – Réseau Twitter, partie II
Vous allez maintenant faire une exploration similaire sur la centralité d’intermédiarité ! Quelques rappels pour vous guider : la centralité d’intermédiarité se calcule avec nx.betweenness_centrality(G).
Cet exercice fait partie du cours
Introduction à l’analyse de réseaux en Python
Instructions
- Écrivez une fonction
find_node_with_highest_bet_cent(G)qui renvoie le ou les nœuds ayant la centralité d’intermédiarité la plus élevée.- Calculez la centralité d’intermédiarité de
G. - Calculez la valeur maximale de centralité d’intermédiarité avec la fonction
max()surlist(bet_cent.values()). - Itérez sur le dictionnaire de centralité d’intermédiarité,
bet_cent.items(). - Si la valeur de centralité d’intermédiarité
vdu nœud courantkest égale àmax_bc, ajoutez-la à l’ensemble des nœuds.
- Calculez la centralité d’intermédiarité de
- Utilisez votre fonction pour trouver le ou les nœuds ayant la centralité d’intermédiarité la plus élevée dans
T. - Écrivez une instruction d’assertion indiquant que vous avez bien le bon nœud. Cela a été fait pour vous : cliquez sur "Soumettre la réponse" pour voir le résultat !
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Define find_node_with_highest_bet_cent()
def find_node_with_highest_bet_cent(G):
# Compute betweenness centrality: bet_cent
bet_cent = ____
# Compute maximum betweenness centrality: max_bc
max_bc = ____
nodes = set()
# Iterate over the betweenness centrality dictionary
for k, v in ____:
# Check if the current value has the maximum betweenness centrality
if ____ == ____:
# Add the current node to the set of nodes
____
return nodes
# Use that function to find the node(s) that has the highest betweenness centrality in the network: top_bc
top_bc = ____
print(top_bc)
# Write an assertion statement that checks that the node(s) is/are correctly identified.
for node in top_bc:
assert nx.betweenness_centrality(T)[node] == max(nx.betweenness_centrality(T).values())