Analyse approfondie – réseau Twitter, partie II
Vous allez maintenant faire une analyse approfondie similaire sur la centralité d'intermédiarité ! Quelques rappels pour vous guider : la centralité d'intermédiarité se calcule avec nx.betweenness_centrality(G).
Cette activité fait partie du cours
Introduction à l'analyse des réseaux en Python
Instructions de l’exercice
- Écrivez une fonction
find_node_with_highest_bet_cent(G)qui retourne le ou les nœuds ayant la plus forte centralité d'intermédiarité.- Calculez la centralité d'intermédiarité de
G. - Calculez la centralité d'intermédiarité maximale 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-le à l'ensemble des nœuds.
- Calculez la centralité d'intermédiarité de
- Utilisez votre fonction pour trouver le ou les nœuds ayant la plus forte centralité d'intermédiarité dans
T. - Écrivez une assertion pour vérifier que vous avez le bon nœud. Cela a été fait pour vous, alors cliquez sur « Soumettre la réponse » pour voir le résultat !
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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())